Now that Apple has revealed its latest iPhones – the iPhone XS, iPhone XR, and iPhone XS Max – what does it all mean for developers?
For starters, screen sizes are now more unique, and each new iPhone has its own distinct resolution. The XS has the same screen resolution as the iPhone X, but the other two differ considerably. Here’s the complete rundown:
- iPhone XR: 828px x 1792px (LCD)
- iPhone XS: 1125px x 2436px (OLED)
- iPhone XS Max: 1242px x 2688px (OLED)
Apple calls its iPhone XR screen ‘Liquid Retina’ (a not-so-subtle callback to ‘Retina Display’) but that’s marketing jargon. It’s LCD, which Apple utilized to keep the device’s price low, and also means “dark mode” is less critical for developers to consider. OLED panels simply don’t illuminate black pixels, whereas LCD displays actively replicate black. It’s a crucial difference that may determine how you build software; if your app doesn’t support dark mode yet, we’d encourage you to examine your iPhone user statistics before taking that plunge.
The iPhone XS, XR, and XS Max all have an edge-to-edge display with a notch up-top, which requires developers to adhere to ‘safe areas’ when creating apps. There’s nothing to suggest the new resolutions will require any intensive work for apps already supporting the iPhone X, but developers should run their apps through the Xcode simulator for the iPhone XS, XR, and XS Max to more closely examine how the app looks and performs.
(Remember, macOS Mojave launches September 24 with Xcode 10, which has an updated simulator for the new iPhones.)
Internally, there’s a lot going on with the new iPhones. Siri will play a big part, and we’ve noted Siri Shortcuts are ready for developers. Meanwhile, the new A12 Bionic SoC found in the iPhone XS, XR, and XS Max is profoundly better at some behind-the-scenes processes.
The A12 Bionic is a six-core processor, with two performance cores (up to 15 percent faster than the A11) and four efficiency cores (using up to 50 percent less power than the A11). A quad-core GPU is 50 percent faster than the A11, and optimized for Metal 2.
An 8-core “Neural Engine” inside the A12 Bionic can perform five trillion operations per second. CoreML, Apple’s Machine Learning framework, is now up to nine times faster with the A12’s Neural Engine, and uses one-tenth of the energy it did with the A11 chipset.
These processor improvements make machine learning faster, gaming quicker, augmented reality (AR) a lot snappier, the camera output richer, and sensors more contextually aware. This can improve app performance on the newer devices without siphoning significantly more battery power, as all the aforementioned features have their own APIs.
iPhone XS, iOS 12, Apple Watch, and Developers
Here are the important dates for developers:
- iOS 12: launches 9-17
- iPhone XS: pre-order 9-14, Available 9-21
- iPhone XS Max: pre-order 9-14, Available 9-21
- iPhone XR: pre-order 10-19, Available 10-26
- macOS Mojave with Xcode 10: launches 9-24
- watchOS 5: launches 9-17
The three major themes for iOS 12 are machine learning, Siri Shortcuts, and augmented reality via ARKit 2. Like the new iPhones, Apple Watch Series 4 adds new sensors and a faster chipset, along with a larger screen for displaying more content.
iOS developer Joe Cieplinski has a tip for taking advantage of the Series 4 Apple Watch’s new screen real estate, which is up to 35 percent larger than the Series 3:
Watch devs: Allow me to save you some hair pulling tonight: Fixed to Screen Edges is your new best friend. pic.twitter.com/4nC2Uo811q
— jcieplinski (@jcieplinski) September 12, 2018
A new watch face allows for up to eight complications on-screen, so developers with robust Apple Watch apps may want to tinker with the new complication layout options. A bevy of updated sensors will make workout detection and health tracking far better. There’s also an ECG sensor on the new Apple Watch, which is incredible for users, though there’s no way for developers to tap into it yet.
All told, the new devices don’t translate into a ton of new work for developers. We advocate checking that your apps still look great in the Xcode simulator before targeting new devices, but the new resolutions don’t lend themselves to wild constraint issues (though we definitely suggest utilizing Cieplinski’s tip above; constraints are your new best friend on the expanded Apple Watch display).
There are a few new APIs, too. CoreML gets a
MLComputeUnitsAll enumeration, which is a case for the
MLComputeUnits prediction enumeration. ARKit now has plane detection APIs for walls, ceilings, tables, seats, floors, or no planes at all. Metal has new APIs focusing on performance.
With new devices arriving as soon as next week, and iOS 12 landing Monday, it’s crunch time for those eager to have apps with updated features available at launch.