Three Gotchas for Developers Testing Apps on iOS5

We are just finishing upgrading a couple of apps for iOS5 and found the following issues that took a little research to figure out what was going on.  Peter fixed 1 and 3 below, while Larry figured out 2 after dealing with an ad hoc distribution problem.  Hopefully these will help the next person get through these in less than a half day!

1. Icon Shine

We don’t use the icon shine feature in iOS since it disrupts the look of the icons that Jordan has designed. The typical plist entry to “turn off” the automatic shine does not work for iOS 5 (although you still need it for earlier versions):

For iOS5, you need to add a sub-property to the Icon Files(iOS5) property like this:

These two entries should keep your icons consistent across versions.

2. Compiling for older iOS versions.

Many of our users have older versions of iOS since they never sync with a computer or are using older hardware. So, we have to make sure that the app will work with both armv7 and armv6.  To do that you need to update target build settings to include armv6 by, in the project settings, deleting the standard entry and adding both versions in the pop-up box to get the following entry:

Additionally, you have to change the minimum architecture in the plist so that your device won’t reject the app if armv7 is not supported.

3. Dismissing Views

Check the way you dismiss modals. You need to change parentViewController to presentingViewController if parentViewController does not exist (not in iOS5 but still will be there in earlier version). Here is the example code that does just that:

if ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad) {

UIViewController *dismissingViewController;
if (self.parentViewController) dismissingViewController = self.parentViewController;

else dismissingViewController = [self valueForKey:@"presentingViewController"];

[dismissingViewController dismissModalViewControllerAnimated:YES];

Hope this helps!

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *