Update! New RC2 Posted
Starting February 1st 2015 Apple will require that all App Store submissions be compiled using the iOS 8 SDK, and support 64-bit architectures.
We’ve completed the first pass at our support for 64-bit builds on iOS. You will note the bump in versions to 3.5.0, as this build requires iOS modules to be recompiled (see below). What was previously slated for our original 3.5.0 has been moved to a new version, 3.6.0.
To test, please download the latest SDK build from the 3.5.0 stream (https://builds.appcelerator.com/#3.5.0). You do not need to download any CLI or Studio updates. You then just need to build your application using this latest version.
This build contains the following changes:
- Updated 64-bit supporting libraries
- 64-bit clean Titanium iOS SDK
- Updated 64-bit modules
- 64-bit module and project templates
There are a few remaining tasks to complete before we can release a GA version:
- Debugger support: TIMOB-17924
- Profiling fixes (profiling works, but functions currently report as “anonymous”): TIMOB-18064
- Updated CoreMotion and UrlSession modules: TIMOB-17928
ALL iOS modules will need to be 64-bit compatible.
This is because 64-bit support requires 64-bit code all the way through. To do so:
- Open the Xcode project for the module.
- You should have at least one warning asking you to update the project to the “recommended settings”. Update the project as recommended.
- Go to the project settings and set the iOS Deployment Target to at least iOS 6.0.
- In Build Settings, change all the architectures to “$(ARCHS_STANDARD)”.
That’s it, build the module normally and it should now be 64-bit compatible. To verify it, run this on the command line:
cd module_root_dir xcrun lipo -info build/lib.your_module_here.a
And the output should be this:
Architectures in the fat file: build/lib.your_module_here.a are: armv7 i386 x86_64 arm64
To advertise your modules as 64-bit compatible, add the compiled architectures to module manifest
For more information, see TIMOB-18065. We recommend you update your modules to include this line, as future versions of Studio and the CLI will use this to verify your modules are built correctly. We will help automate this process in the future. Module site gitt.io has also been updated to show the module’s supported architectures.
If you run into any issues, please file JIRA tickets and let us know ASAP.