XCode 5 and support for iOS 6.x and iOS 7

2.4k Views Asked by At

Happy New Year to all.

I have a fully developed iOS 6.x app (not in AppStore yet) with XCode 4.6. I'm running on Mavericks with XCode 5.0.2 and iOS 7. Now, I wanted my app to support both iOS 6.x and 7.0 devices. I'm totally confused on what should I do. Also, I have my 4S running on iOS 6.1.2 with modem firmware 3.4.02.

What should be the best way to acheive this?

  1. I can upgrade to iOS 7.0.4 on the 4S. By doing this, what I'm losing here?. Is it safe to be at 6.1.2 on the device to not to lose testing on 6.x devices. But, then how do I test it on iOS 7 device as I can't afford a new one now.

  2. I read that I can copy iOS 6.1 SDK to the XCode 5 folder to make XCode 5.0.2 support both iOS 6.x and 7.x simulators.

  3. I ran the app thru the iOS 7 simulator from within XCode 5 and some of the UI screens are not looking good with controls misaligned.

At the end of the day, I want my app to run fine on iOS 6.x and iOS 7 devices. Also, my app only supports portrait mode.

Please help.

1

There are 1 best solutions below

1
On

The best way to test an app for compatibility with more than one iOS version is to have at least one iOS device for each major OS version. The iOS Simulator is not an adequate test. If you only have one device, then (given that the majority of App store customers now run iOS 7) one option is to update your device to iOS 7, and just support that one OS version.

Using the iOS 6.x (or earlier) SDK with Xcode 5 is unsupported and reported to be buggy. Apple says not to do it in their support forums.

The UI control and window metrics are different in iOS7. An iOS6 app usually has to be modified to look functional when re-built with the new SDK. One can test at run-time for the OS version and modify the control and view alignments as needed. Or just (re)design the app for iOS7 only.

If you have more than one iOS test device, one option is to build using the iOS7 SDK, set the Deployment Target lower (to iOS 5.1 or 6.x), test on those devices, and code OS dependent run-time control and view alignment adjustments as needed.

As of 2013-Feb-01, according to a notice on Apple's dev site, building using the iOS7 SDK will be required for submission to Apple's App store. A Deployment Target as low as iOS 4.3 is still supported by Xcode 5, if you want to do testing on that many iOS devices.