Corona: iOS 6 and Xcode 4.5 are GM!

iOS 6 and Corona
Share on Facebook0Share on Google+0Tweet about this on TwitterShare on LinkedIn0

Today, Apple officially released iOS 6 and Xcode 4.5.

iOS 6, by default

While iOS 6 was in beta, I talked with you about how you could make Corona perform device builds that targeted iOS 6 specifically.

Starting with daily build 919, all device builds will automatically be iOS 6 compatible. You will no longer need to select the target iOS SDK. We will only present that option when we have builds for iOS betas.

In order for you to do device builds, you should upgrade to Xcode 4.5 GM (not to be confused with ‘4.5 GM seed’). As of today, this is available from Apple.

Fate of iOS 4.3

For the time being, future daily builds will be backwards compatible to iOS 4.3. However, we will soon only go as far back as iOS 5.1. There are 2 reasons:

First, as I explained previously, Apple has been dropping support for older versions of iOS, so it doesn’t make sense for us to fight Apple on this one.

Second, all iOS 4.3 devices can be upgraded to iOS 5.1.


If you’re using CoronaBuilder for automated nightly builds of your Corona project, you’ll need to make a couple of adjustments starting with the next daily build.

First, you should also upgrade to Xcode 4.5 GM.

Next, you should modify the ‘sdkPath’ param, so it points to the the new SDK location. Older versions of Xcode used to be installed at ‘/Developer’. Newer versions of Xcode typically reside at ‘/Applications/’.

Finally, if you have the latest version of CoronaBuilder, you might have been building for iOS 6 Beta seeds. If that’s the case, you should remove the ‘platformVersion’ key as well, starting with daily build 919.

Enterprise, armv7s

Corona Enterprise devs will likewise need to upgrade to Xcode 4.5 GM starting with daily build 919.

If you try to build your existing Xcode project, you will likely see a linker error:

ld: file is universal (2 slices) but does not contain a(n) armv7s slice

This is because Xcode must now support the iPhone 5 which uses Apple’s new A6 SoC. This chip supports the old ‘armv7’ which is used by modern ARM cores. It also adds support for ‘armv7s’, a custom Apple instruction set that adds VFPv4 support, a.k.a. vector floating point support.

Currently, Corona does not support armv7s. We plan to support armv7s soon, but in the mean time, you’ll need to make some adjustments to your Xcode project — or rebuild your project using the CoronaSampleApp Xcode project as a starting point.

If you open up your Xcode project in Xcode 4.5, you’ll see something like the following. Note the presence of both ‘armv7’ and ‘armv7s’:

The main change you need to make is to make sure the builds for device only build armv7 (i.e. remove ‘armv7s’). Here’s what they should look like after:

In this setup, you are basically telling Xcode, that by default you still want the standard instruction sets, but for iOS, you are adding override behavior, forcing it to only build for armv7. Once we add armv7s support, you can easily highlight the override and remove it (hit the delete key).

If you’re making the adjustments to your Xcode project directly, be sure to select the “Project” instead of the “Target” on the left pane.

Share on Facebook0Share on Google+0Tweet about this on TwitterShare on LinkedIn0

This entry has 3 replies

  1. dingo says:

    hey walter, i am a bit confused. i am still using build 842; isnt this compatible with iOS6? Does this mean that i need to change to the newest build to make it running on iOS6?

    what about old apps?


  2. James says:

    Where can I find more info on CoronaBuilder? How is that different from using the Corona Simulator?

  3. David says:

    Dingo – You can still use build 842, but the apps will not be able to use the full iPhone5 screen.

    James – Corona Builder allows you to run Corona builds in an automated way, instead of one by one via the normal simulator. If you are interested, contact us here: