iOS compatibilty

Hello guys, 

I asked this question in another iOS9 related thread as a comment, but I guess my comment got hidden among many others. Please let me know if I’m not allowed to ask again like this and I’ll remove this post.

But my question is, if I compile an app against ios 8 SDK on Xcode 7 ( or any 6.x version), will the app be available on iOS9 devices or do I need to modify/change things to make it compatible with iOS 9? 

And if it is compatible, then does it mean that compiling against iOS8 SDK makes an app compatible with iOS 9,8,7 and 6?

Thank you.

Apple generally allows apps built with one SDK to run on that SDK and the two previous versions.  So if you build with iOS8, you should be able to run on devices with iOS 7 and iOS 6 installed.  It should also run on iOS 9 as long as your app doesn’t use any “features” from iOS 9 (Including breaking changes Apple is forcing on you).

Let’s look at a specific example of the last one first. If your app does not access internet resources, more specifically websites using http:// instead of https:// or https:// sites with questionable SSL certificates. In iOS 9 you now have to use https:// or add some code to your build.settings, but if you don’t do network things, your iOS 8 built app will probably run on iOS 9.  Last year, pretty much forced any updates to be iOS 8, but un-updated apps will run unless they run into these kinda changes.

And keep this in mind. iOS 5 is installed on about 1.5% of the devices out there. iOS 6 is a little under 3% and iOS 7 is around 14%, but iOS 9 is being installed at a very fast rate (already on over 50% of the devices). Apple claims iOS 9 is 52%, iOS 8 is 41% and the rest is 8%. 

When you factor that in, You probably should not worry about the 4.5% running iOS 6 or older. Build with iOS 9 and you will be fine.

Rob

Thanks a lot Rob, that was very informative. Just to clarify one thing, if I use Ads ( my plan is to alternate between iAds and AdMob), Ads would of course need to access the internet. Ad plugins  using the network to get and display ads are exempt from the new connectivity requirements of iOS9, is that correct? Or do they still have to implement the new features? ( I mean do the developers have to implement anything specific for iOS9 with Ad plug ins.)  

Thanks. 

I’m pretty sure iAds will be fine. Apple should already be using https: and we are making their SDK calls anyway. I don’t know how the AdMob plugin is built. I don’t know what google is doing under the hood, but if you follow this blog post:

https://coronalabs.com/blog/2015/09/17/about-app-transport-security-ats/

You won’t have problems.

Rob

Thanks a lot.

Now to integrate some ads maybe and publish this app. :D 

Apple generally allows apps built with one SDK to run on that SDK and the two previous versions.  So if you build with iOS8, you should be able to run on devices with iOS 7 and iOS 6 installed.  It should also run on iOS 9 as long as your app doesn’t use any “features” from iOS 9 (Including breaking changes Apple is forcing on you).

Let’s look at a specific example of the last one first. If your app does not access internet resources, more specifically websites using http:// instead of https:// or https:// sites with questionable SSL certificates. In iOS 9 you now have to use https:// or add some code to your build.settings, but if you don’t do network things, your iOS 8 built app will probably run on iOS 9.  Last year, pretty much forced any updates to be iOS 8, but un-updated apps will run unless they run into these kinda changes.

And keep this in mind. iOS 5 is installed on about 1.5% of the devices out there. iOS 6 is a little under 3% and iOS 7 is around 14%, but iOS 9 is being installed at a very fast rate (already on over 50% of the devices). Apple claims iOS 9 is 52%, iOS 8 is 41% and the rest is 8%. 

When you factor that in, You probably should not worry about the 4.5% running iOS 6 or older. Build with iOS 9 and you will be fine.

Rob

Thanks a lot Rob, that was very informative. Just to clarify one thing, if I use Ads ( my plan is to alternate between iAds and AdMob), Ads would of course need to access the internet. Ad plugins  using the network to get and display ads are exempt from the new connectivity requirements of iOS9, is that correct? Or do they still have to implement the new features? ( I mean do the developers have to implement anything specific for iOS9 with Ad plug ins.)  

Thanks. 

I’m pretty sure iAds will be fine. Apple should already be using https: and we are making their SDK calls anyway. I don’t know how the AdMob plugin is built. I don’t know what google is doing under the hood, but if you follow this blog post:

https://coronalabs.com/blog/2015/09/17/about-app-transport-security-ats/

You won’t have problems.

Rob

Thanks a lot.

Now to integrate some ads maybe and publish this app. :D