Question

We are currently developing an iOS app and since we started 2 months ago we decided to still support iOS6. Therefore I have researched on how to do this and found a couple of answers here on SO that recommended to include the old iOS6 SDK to make sure we would not accidentally use a feature of iOS7.

Now I just received an apple developer email titled Build your apps for iOS 7. The email says that all apps submitted after February 1 2014 will have to be build with iOS7 SDK.

I guess I could still compile the whole app at the end of development with iOS7 SDK and set the deployment target to 6.1 and only use iOS6 SDK during development.

What is the official way to make an iOS6 compatible app and ensure no feature of iOS7 was accidentally used?

Was it helpful?

Solution

Your app will probably be rejected. Apple usually allows for a grace period, especially if the application existed before - but there is no guarantee. You might have harder times with a brand new application. However, I would not recommend to keep using SDK6.

If you want to make your SDK7 application compatible to iOS6 you will have to use respondsToSelector: to check if a method exists on your target device at runtime. If not, you will have to go into a different code branch. Alternatively you can opt to not use any iOS7 specific API at all.

Note that there are also special things to take care of, to not only make your app run but also look nice on both versions. Apple provides a guide for transitioning to iOS7 while still supporting iOS6.

In all cases you will have to make sure that your app runs on both iOS versions, which means you need at least two devices.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top