Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News 64 Bit Support for iOS Mandatory From February 2015: Benefits and Hindrances

64 Bit Support for iOS Mandatory From February 2015: Benefits and Hindrances

This item in japanese

Apple announced that, as of February 1 2015, all App Store submissions will be required to include 64-bit support and to be built with the iOS 8 SDK. The new requirement will only apply to new submissions, that is new apps and updates to existing apps.

Apple introduced a 64-bit architecture with the Apple A7 chip on the iPhone 5s last year. Earlier this year, Apple introduced a new A8 variant of the 64 bit ARMv8 architecture in the iPhone 6 and 6 Plus, and a more-powerful A8X in the iPad Air 2.

According to ArsTechnica, "an Apple A7 can run 64-bit code up to 30 percent faster than it runs 32-bit code. An A8 can be as much as 40 percent faster." Another advantage should come into effect when all the apps running on a device will run in 64 bit mode: in this case, then, it will not be necessary to load both 32 bit and 64 bit versions of the SDK frameworks, thus reducing overall memory usage.

Yet, as of October 2014, many well known apps such as Twitter, Facebook, and Instagram, had no 64 bit support, as ArsTechnica reported.

In the general case, the only required step to enable 64-bit support is "using the default Xcode build setting of 'Standard architectures' to build a single binary with both 32-bit and 64-bit code," says Apple.

Nevertheless, only code that is written according to certain rules will compile seamlessly for 64 bit. Apple provided a 64 bit transition guide that lists dangerous programming behaviours such as casting pointers to integers, converting NSInteger and CGFloat to C intrinsic types, assuming 32 bit alignment in data structures, and many more.

Furthermore, the transition to 64 bit could entail some headaches for developers using older versions of 3rd-party frameworks that might only get 64 bit support if they move to a later version of that framework, what could not always be possible or desired.

Rate this Article