Posted on by

Starting in daily build 2014.2277, we are changing the minimum supported version on iOS from 5.1 to 6. This means that if you do a device build with 2014.2277 (or later), your app will not run on a device whose version is below iOS 6.

This change is needed to move our iOS architecture forward, and finally pay off technical debt that has been accumulating for nearly 18 months — an eternity in the mobile space.

Now that previous iOS versions (3.x, 4.x, 5.x) account has declined to a mere 2% (according to Apple), we can no longer justify accumulating this sort of technical debt. It’s difficult to maintain; it’s fragile; and it’s not future-proof — we inevitably had to introduce new hacks.

Back when iOS 6 was released, Apple made fundamental changes to how apps supported multiple orientations. Unfortunately, these changes were not compatible with code designed to work against earlier versions of iOS.

Historically, to maintain support for both older and modern iOS versions, we had to do things that were not true to the modern way of doing things in iOS. This created a conflict in our architecture, one we predicted would generate problems in the future. And we were right — you may recall these unsavory strings in your build.settings:

CoronaUseIOS6PortraitOnlyWorkaround
CoronaUseIOS6LandscapeOnlyWorkaround
CoronaUseIOS6IPadPhotoPickerLandscapeOnlyWorkaround
CoronaUseIOS7LandscapeOnlyWorkaround
CoronaUseIOS7IPadPhotoPickerLandscapeOnlyWorkaround

In the latest daily builds, we have modernized our orientation support, fully embracing the iOS 6 model for orientation support, thus removing the internal architectural conflict. That means we’ll no longer be able to deal with orientation properly on older iOS versions such as 5.1.

The great thing about these changes are that they completely remove the need for the above hacks. For example, built-in UI like the photo picker and Game Center no longer require the hack. They’ll also eliminate the need for them in the future, so newer UI that Apple introduces will not need separate hacks.

If you must release on iOS 5.1, we recommend you use an older daily build (prior to 2014.2277) or the last public release. All future daily builds and future releases will require iOS 6.0 or higher.

Enterprise users take note that if you update to the latest daily build:

(1) You should update your Xcode project so that the “iOS Deployment Target” is 6.0, as this controls the minimum version.
(2) ‘UISupportedInterfaceOrientations’ is now ignored, so if you want to control the orientations that the application (not to be confused with the Corona content) supports, your implementation of the ‘CoronaDelegate’ should override ‘application:supportedInterfaceOrientationsForWindow:’.


Posted by . Thanks for reading...

6 Responses to “Changes in minimum OS version: iOS 6”

  1. Ingemar

    No problem, it makes perfect sense. iOS 8 will soon be here with whatever changes that will bring.
    I already made the minimum iOS 6 change for all my apps a few months ago.

    Reply
  2. Peter Dwyer

    Nice now can you get around to changing the store pop-up so that it opens the product window and does not take the user out of the app to the full store! This has been available in the store kit for an eternity yet has been ignored by Corona! It may seem like a trivial thing to you guys but, it’s a complete pain for our app users! In case you’re wondering. Once in the store there is no way to exit it to be dropped back into the app. That’s what Apple made the store product view to address!

    Reply

Leave a Reply

  • (Will Not Be Published)