Showing posts with label issues. Show all posts
Showing posts with label issues. Show all posts

Wednesday, November 13, 2013

Life with Mavericks - lots of bumps in the road

I installed Mavericks on my MacBook Pro at work. It has been a very bumpy ride. I really wanted multiple monitors to work better, and it does to a point. I have been able to unplug from my second monitor at my desk, move the laptop to a conference room, connect to the TV there and have it mirror the image then reconnect to my monitor when the meeting was over and have it restore the window positions. That is awesome.

The problem? If my machine goes into a deeper sleep, say when I lock and close it for the night, the next morning or maybe even after an hour lunch and an app window will be hosed. Outlook will disappear into the upper corner and you can move it but no resize it. I have to kill the app and start it back up. It has happened to Chrome, Outlook and VMWare fusion so far. Can't find a definite pattern but it sucks when it happens.

I installed Slate which allows me to take a snapshot of my desktop and restore it. I still have to kill Outlook as the restore is not strong enough to put it back where it belongs but after I restart Outlook doing a restore puts it back on my primary monitor sized correctly. I really hope they fix this mess with an update to the OS.

Next up is Apple decides to wipe out or install older versions of tools such as perl, java, etc. The way the base operating system works is you install common libraries and other tools use them. Of course if you have an old library version things go bad. Also if it used to find the library in one place but it moved then things stink too.

I use xml-grep a lot. It was not working post Mavericks. I updated perl and it still did not work. I reinstalled Twig and no go. I looked at where it was attempting to load things and they did not sync up. I ended up doing a copy + paste of the XML/Twig stuff from one perl directory to another. While doing all this fun something dropped a skeleton .bashrc file in the root directory which load before my .profile so iTerm did not have the proper settings.

MacPorts did not work for the first few days after Mavericks came out. They fixed that pretty quickly but it was failing on the SVN 1.8.4 update. I finally just downloaded the tar file and put it where it wanted and was able to move on. Right now MacPorts is updating and installing as expected but I know they got bit by another Apple tool shift.

Look, DLL hell was no fun on Windows. Most ended up including their DLL copy in their own directory. I did not run into issues upgrading Windows like I have on the Mac. Yes, this only applies to developers (probably) as most folks are not dealing with command line tools. Heck the graphic artist I have worked with had never seen this magical terminal window I spoke of. The problem is Apple is just not very developer friendly which makes me mad at them and hard for me to recommend them to family members.

At this point I am back up and running. I have to kill programs at least once a day to get them back visible on the screen and not is some weird docking mode. That has the potential to affect a lot more than just developers. I am sure I will get bit by another command line tool that is not working as expected soon enough. I am trying to get past all the surprises so I can just do my work.

Thursday, September 20, 2012

Xcode 4.5 iOS 6 iPhone 5 simulator issues


Last night before I left I begin the Xcode 4.5 official release download. This morning it was ready to roll and then it needed to update a few other areas of Xcode but it was up and running pretty quickly. I then went about the work of having my app make use of the full height of the iPhone 5 screen.

Xcode asked if I wanted to add the Default-568h@2x.png which I allowed it to do. I knew that was one of the requirements so I was very happy it created the all black image for me. Our launch time is super fast so I don't need a real launch image.

Next I knew the rotation messages needed a massage. I add the following lines to all the ViewControllers allowing all orientations to work.

// OS 6 rotate message
- (BOOL)shouldAutorotate {
    return YES;
}

// OS 6 rotate message response
- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskAll;
}

I left the original orientation code in place for non-iOS 6 devices. 

Time to tweak the rootViewController

    // Changed for iOS 6
    self.window.rootViewController = self.navigationController;
//  [window addSubview:navigationController.view];


I had to switch to libxml2.2.dylib for libxlm.2.2.7.3.dylib for my frameworks. Not sure why the newer Xcode has what appears to be an older version of this lib but everything appears to work using it.

I download older simulators (4.3 and 5.1) so I can test as many as possible without swapping devices.

Adjusting the home screen paint for extra size by checking for iPhone 5 resolution and putting our logo below the grid of buttons on the portrait version makes that look nice. Putting extra space between each icon on landscape mode to space them evenly across the screen gives that area the proper look.

All the other screens filled the new height and went smoothly and things look great except for one big issue I have not yet been able to resolve. The back button in the navigation bar does not work in the simulator. Well it does work for everything but an iPhone (Retina 4-inch). I can choose iOS 4.3, 5.1 or 6.0 and any device - iPhone, iPhone (Retina 3.5-inch),  iPad, iPad (Retina) - and everything about my program works just fine. Once I set the hardware to be iPhone (Retina 4-inch) then the buttons will not work. Nothing happens when I click on them, no errors, no highlighting, no action at all.

Seems to me I am not having an iOS 6.0 issue but a simulator issue. Until I get my hands on some real hardware I am not sure what to do. I can install iOS 6.0 on my iPad 2 or my third gen iTouch but that does not tell me if things have gone haywire on a real iPhone 5.

The other area of fun is two of my hardware testing devices are no longer supported by Xcode 4.5. I can't use the second generation iTouch or the iPhone 3G. They are both stuck at iOS 4.2.1. We checked our logs and it appears we still have a user with that flavor of iOS. If I update the software I would set 4.3 as the minimum. Users would either stick with the version they have, upgrade their iOS if possible or buy new hardware. Apple is sort of forcing things along in this area. Even the original iPad has hit the end of its upgrade cycle.

At this point I get to keep digging to find out why the simulator is not letting me press the back button or the menu button I have at the other end of the navigation area on the 4" iPhone. Pretty obvious that I will not even think of releasing a new cut of the program until this is resolved. Sure, the simulator can be hosed as long as the code runs on a real device I will be fine. I really am hoping it is a code tweak to make it work across the board. Right now 4" iPhone information is pretty sparse.

** UPDATE ** Not fixed but I did try rotating the screen in the simulator. The buttons started to work. Then I rotated again and they stopped, then again and the back button would work but not the menu button. At times all buttons will work then will stop working. Rotation may or may not allow them to work again. I really does appear the simulator has an issue in this area.

** FIXED ** I had to open my MainWindow.XIB file, select the Window object and ticked "Full Screen at Launch". Now everything appears to be working on all simulator devices. I need to beat on the application for a bit more but now I at least feel safe checking in the code changes I have made. Hope this knowledge can help out someone else.