Changes in minimum OS version: iOS 6

ios-transparent
Share on Facebook0Share on Google+1Tweet about this on TwitterShare on LinkedIn0

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:

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

Share on Facebook0Share on Google+1Tweet about this on TwitterShare on LinkedIn0
walter

This entry has 8 replies

  1. Kerem says:

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

  2. Ingemar says:

    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.

  3. Peter Dwyer says:

    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 says:

      +1

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

  5. Marble68 says:

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

  6. Vadim says:

    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.

  7. Conor O'Nolan says:

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