Andrew Cunningham

Andrew Cunningham

Andrew Cunningham

Among many other things, iOS 10.3 makes it clear that the end of the road is near for 32-bit iOS apps. This has been coming for a while—all apps and updates submitted for App Store approval since mid-2015 have needed to include 64-bit support, and Apple has been pledging to purge the App Store of abandonware since last fall. Pretty soon, Apple will simply go one step further and make it so that older 32-bit code simply can’t run on iDevices.

Putting aside that this spells the end for all kinds of old, unmaintained games and other apps from the early days of the smartphone and App Store, Apple’s complete transition to 64-bit is a unique and interesting technical achievement. Here’s the complete timeline of the transition, to date:

September 2013 : Apple introduces the iPhone 5S. Its Apple A7 chip makes it the first 64-bit iDevice. iOS 7 is the first 64-bit version of iOS, at least when running on the A7.

: Apple introduces the iPhone 5S. Its Apple A7 chip makes it the first 64-bit iDevice. iOS 7 is the first 64-bit version of iOS, at least when running on the A7. October 2013 : The iPad Air and what is now called the iPad Mini 2 are introduced. Both include the Apple A7 SoC.

: The iPad Air and what is now called the iPad Mini 2 are introduced. Both include the Apple A7 SoC. March 2014 : iOS 7.1 is released. It resolves most of the memory-related crashes in 64-bit iOS.

: iOS 7.1 is released. It resolves most of the memory-related crashes in 64-bit iOS. September 2014 : The iPhone 6 and 6 Plus are released. Their Apple A8 chip is Apple's second 64-bit SoC. Apple stops selling the iPhone 4S, making the iPhone 5C the last of the 32-bit iPhones.

: The iPhone 6 and 6 Plus are released. Their Apple A8 chip is Apple's second 64-bit SoC. Apple stops selling the iPhone 4S, making the iPhone 5C the last of the 32-bit iPhones. October 2014 : The iPad Air 2 and iPad Mini 3 are released. Both include 64-bit chips (the A8X and A7 again, respectively). The fourth-generation Retina iPad, which had been on sale for $399, is discontinued. The original iPad Mini is the last of the 32-bit iPads.

: The iPad Air 2 and iPad Mini 3 are released. Both include 64-bit chips (the A8X and A7 again, respectively). The fourth-generation Retina iPad, which had been on sale for $399, is discontinued. The original iPad Mini is the last of the 32-bit iPads. February 2015 : All new apps submitted to the App Store must include 64-bit support.

: All new apps submitted to the App Store must include 64-bit support. June 1, 2015 : All app updates submitted to the App Store must include 64-bit support.

: All app updates submitted to the App Store must include 64-bit support. June 19, 2015 : Apple quietly discontinues the original iPad Mini. The only 32-bit iPads Apple now sells are refurbished.

: Apple quietly discontinues the original iPad Mini. The only 32-bit iPads Apple now sells are refurbished. September 9, 2015 : Apple announces the iPhone 6S and 6S Plus and stops selling the 32-bit iPhone 5C in favor of the 64-bit iPhone 5S. All new iPhones Apple sells from this point on are 64-bit.

: Apple announces the iPhone 6S and 6S Plus and stops selling the 32-bit iPhone 5C in favor of the 64-bit iPhone 5S. All new iPhones Apple sells from this point on are 64-bit. June 13, 2016 : Apple announces iOS 10. Beta versions generate a warning about 32-bit apps, though this is removed in the final release. iOS 10 drops support for the Apple A5, making the Apple A6 and A6X the last supported 32-bit iOS SoCs.

: Apple announces iOS 10. Beta versions generate a warning about 32-bit apps, though this is removed in the final release. iOS 10 drops support for the Apple A5, making the Apple A6 and A6X the last supported 32-bit iOS SoCs. October 24, 2016 : iOS 10.1 restores the 32-bit app warning.

: iOS 10.1 restores the 32-bit app warning. March 27, 2017: Apple releases iOS 10.3. One of its features is a list of installed 32-bit apps that won’t work in future iOS versions.

To this list, I’d add a couple of predictions. In June at WWDC, we’ll get our first look at iOS 11, which is almost certain to drop support for the last 32-bit iOS hardware (the iPhone 5 and 5C and the iPad 4) as well as 32-bit iOS apps. And when that update comes out in September-ish, it may be accompanied by the first iPhone that can’t run 32-bit iOS apps (because it doesn’t have to be able to).

The second supposition is based on a guess from prominent iOS developer Steve Troughton-Smith, who regularly discovers hidden or semi-hidden iOS features and is often in position to hear things from people near and inside Apple. It’s not a guarantee of Apple’s future plans and of all its products, especially since the company generally keeps the tightest lid on the design of its A-series chips.

Still, an iPhone without 32-bit iOS apps would present a unique opportunity for Apple to use its control over its software to streamline its hardware a bit. The 64-bit ARM instruction set, also called AArch64, is unique in that it is totally separate from the 32-bit (and ARMv7-compatible) AArch32 instruction set. In the PC world, the x86-64 instruction set is an extension of the 32-bit and 16-bit instruction sets—it was designed that way on purpose, and its easy backward compatibility gave it a decisive advantage over Intel’s 64-bit-only Itanium architecture. As a side effect, it has drawn out the 64-bit transition on PCs for years. Even today, every x86 PC supports 32- and 16-bit code that it will only rarely need to run.

Since ARM separates the instruction sets and since Apple has total control over iOS and its app ecosystem, Apple could be the first company to build an ARM CPU architecture that only supports 64-bit code. ARM has already demonstrated that this kind of thing can be done with its tiny AArch32-only Cortex A32 CPU core

On the hardware side, this could mean freeing up a small amount of space in a hypothetical A11 SoC for more CPU cores, larger CPU cores, or a better GPU or other features. This is the kind of thing that other SoC vendors would have a harder time doing—most SoCs in the Android world either use ARM’s Cortex CPU cores or designs substantially based on the Cortex cores. To maintain maximum compatibility and flexibility, it’s unlikely that ARM will ship anything without 32-bit support any time soon.

Even if this doesn’t happen, Apple can still achieve some streamlining on the software side, stuff that will also benefit phones with hardware support for 32-bit apps. With 32-bit support cut out, Apple will be able to rip out any remaining 32-bit code in iOS, as well as 32-bit software libraries and things that allow 32-bit apps to run within 64-bit iOS. This may save some small amount of storage space, though it may be used for new iOS 11 features and not passed on to users. It can also help with memory usage in a few cases, since iOS won’t ever need to load 32-bit libraries into memory (thus ejecting other apps or Safari tabs from RAM and slowing down load times when you’re switching between tabs or apps).

Whether Apple ever actually talks about any of these benefits publicly is anyone’s guess. The company does seem to be a little more open and a little less secretive on some fronts these days, but it’s still difficult to get Apple employees on the record talking in detail about its chips or low-level tech (beyond the stuff developers can learn at WWDC, anyway). But it will be a first for a mass-market consumer operating system: not only has iOS transitioned from 32-bit to 64-bit, but it will soon completely end 32-bit backward compatibility altogether, something that has remained in the 64-bit versions of Windows, macOS, Linux, and other OSes. Even if the benefits to users and to Apple are relatively small, the fact remains that only Apple has enough control over its hardware and software to realize those benefits.

Listing image by Andrew Cunningham