Open Source & Free ❤️

iOS Migration Continued

iOS Migration Continued

Header Image

We announced our plans to migrate to the newest version of xcode
recently and so far these plans have gone rather well with most tests passing without a problem. We did decide
to disable bitcode by default which means the new build hint ios.bitcode will now default to false to avoid issues
with some libraries that are still not up to date.

One point of confusion from that update was whether iphone_new should still be used. The answer is NO.

You should use the iphone build target as before and we will switch the servers seamlessly.

We will perform the migration to the new servers over the course of the next 2 months as we prepare for 3.5.
Since 3.5 is slated for early August we’d like to have the new servers in place by then…​

Switch Transitory Period

During the switch transitory period we will allow building to a special iphone_old target to workaround potential
server regressions. If you built to the iphone_new this is the same thing and you should skip ahead if not then
read this for instructions on how to temporarily workaround regressions.

You MUST report all regressions to us at once!
If you don’t file issues we will not know a regression exists and might continue the migration plan assuming everything
works.

Open the build.xml file & search for the string "iphone" with the quotes.
Replace it with "iphone_old" .

E.g. notice the targetType="iphone_old" line below:

<target name="build-for-ios-device" depends="clean,copy-ios-override,copy-libs,jar,clean-override">
    <codeNameOne
        jarFile="${dist.jar}"
        displayName="${codename1.displayName}"
        packageName = "${codename1.packageName}"
        mainClassName = "${codename1.mainName}"
        version="${codename1.version}"
        icon="${codename1.icon}"
        vendor="${codename1.vendor}"
        subtitle="${codename1.secondaryTitle}"

        targetType="iphone_old"
        certificate="${codename1.ios.debug.certificate}"
        certPassword="${codename1.ios.debug.certificatePassword}"
        provisioningProfile="${codename1.ios.debug.provision}"
        appid="${codename1.ios.appid}"
        />
</target>

Trial Switch

On Sunday June 19th we will switch to the new build servers so all standard iphone builds will reach the new
servers. We will also setup the old servers as iphone_old servers.

On that day some builds might get “lost” in the ether of migration so if a build gets stuck cancel it…​

This will be a trial run, if everything will “just work” which is a possibility (however unlikely) this will be it.

However, if issues are reported we will probably revert back to the old servers.

Complete Switch

Assuming the trial teaches us about some issues we might do another trial but our final switch target date is
July 3rd. Assuming things mostly work our correctly we aim to bring down some of our build server capacity for
OS upgrade in preparation of the full switch.

This will mark the full switch to the new version of xcode.

Leave a Reply