Changes in minimum OS version: iOS 6

Changes in minimum OS version: iOS 6

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:’.

walter
8 Comments
  • Kerem
    Posted at 12:43h, 25 April

    Spring cleaning sounds great! Thanks for the update and great work.

  • Ingemar
    Posted at 19:17h, 25 April

    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.

  • Peter Dwyer
    Posted at 03:55h, 27 April

    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!

    • Andreas
      Posted at 00:01h, 28 April

      +1

  • Stephen Lewis
    Posted at 17:45h, 27 April

    Makes sense. Those hacks were ugly and bit me in the behind too many times. Glad to leave *them* behind.

  • Marble68
    Posted at 09:37h, 29 April

    Would it be a good idea to have a page with a table that lists the last builds that support with iOS version?

  • Vadim
    Posted at 18:07h, 08 December

    Hello. Where we can get Corona SDK 2014.2277 ?
    I have just a iPad first gen, and this only one way to test my apps.
    Thanks.

  • Conor O'Nolan
    Posted at 00:02h, 29 January

    If I have to build for ios5.1, will the new Apple 64bit requirement prevent upload to the appstore of builds before .2277?