Are iOS 11 apps backwards compatible?

Hello,


If I were to write an iOS app using the new iOS 11 features (such as UIDocumentBrowserViewController), would that app still work on pre-iOS 11 devices? I want to start working on my app's iOS 11 update (and I know that it can't be distributed until the Fall), but I am worried that some of my users on old devices will no longer be able to use new versions of my app once iOS 11 is available and I start only releasing versions that are based on iOS 11 functions.

Also, will I still be able to run both the new and old versions of Xcode now? I want to start working on the iOS 11 update now, but I am still working on iOS 10 updates - can I run the beta Xcode at the same time as the current version of Xcode?


Sorry if these questions sound a bit naive but thanks in advance!


Grant

Answered by KMT in 240108022

An app built strictly for iOS 11.x and with iOS 11-specific APIs would not run on older OSs.

With APIs such as UIDocumentBrowserViewController, the dev would choose to either stick w/supporting iOS 11.x and up, effectively forcing users to update, or, sniff the iOS version in use (see: idioms), code around them (and set the Deployment OS via build settings), accordingly when run on an unsupported/lower iOS version, where existing/new users haven't moved up.

Be sure your testing confirms the app can handle whichever configuration you choose.


As for running old and new Xcode - in that example, you can install both, but run only one at a time. Note, however, that Xcode9.x now support running two instances simultaneously.

Accepted Answer

An app built strictly for iOS 11.x and with iOS 11-specific APIs would not run on older OSs.

With APIs such as UIDocumentBrowserViewController, the dev would choose to either stick w/supporting iOS 11.x and up, effectively forcing users to update, or, sniff the iOS version in use (see: idioms), code around them (and set the Deployment OS via build settings), accordingly when run on an unsupported/lower iOS version, where existing/new users haven't moved up.

Be sure your testing confirms the app can handle whichever configuration you choose.


As for running old and new Xcode - in that example, you can install both, but run only one at a time. Note, however, that Xcode9.x now support running two instances simultaneously.

Are iOS 11 apps backwards compatible?
 
 
Q