The world recently saw the release of iOS 11 and the game-changing iPhone X. It was a revolutionary event as it introduced a whole new way of engaging with the end-user.
The good news for mobile app developers is the fact that most of the work they have to engage in to support the new smartphone is also what they have to do to better support iOS 11.
The latter is also turning out to be considerably different to previous releases with only a 52% adoption rate with a bunch of new features and several patches to go along with it (that’s turning out to be too many in a such a short period of time!).
A lot of these changes have already created a whole new set of problems for apps that previously functioned without any issues on the iPhone 7 and the iPhone 8. As a result, developers have to step up to the plate and adapt to new work realities like the display screen that’s no longer rectangular with round corners, the cut-out front sensor, and software on-screen indicator that replaced the hardware Home button.
So what are the implications for existing and future iOS apps? Let’s dive right into it!
Test existing mobile apps on the new platform
Testing iOS apps across all supported platforms (iOS 9.3.5, iOS 10.3.3, and now the latest iOS 11.x) is the norm, but it’s important to note at this juncture that iOS 11 isn’t supported by all Apple devices. This means that devices that are stuck in previous versions will have different functionality.
The iPhone X was released with iOS 11.0.1 and now updates to iOS 11.1.2 (fixing the cold weather problem), skipping the intermediate updates like iOS 11.0.2 and iOS 11.0.3. But developers must still consider these iOS versions for devices like the iPhone 7 and the iPhone 8.
To support the iPhone X, apps must be built against the iOS 11 SDK. What’s more, developers will have to use Xcode 9 and ensure that the app utilizes Launch Screen storyboard instead of Lunch Images.
Update the display and layout
The iPhone X comes with 5.8-inch screen size which is a departure from previous releases. So it’s critical to test UI elements, graphics, and responsive layouts on the new device to see how it works.
If the app was developed with Auto Layout and a standard UIKit, developers may not have to make any changes to get it to work. But if the app uses the full-screen or manual layouts and custom controls, developers will need to update all the UI elements, text fields, and tables to enable seamless functionality of iOS 11 and iPhone X.
Whether the app needs an update or not, it’s important to exercise the whole app. This means trying it out on every screen (landscape, left to right, and portrait, top to bottom) to identify any anomalies. This can be achieved with the iPhone X simulator in Xcode 9.
If the layout has to be updated, it’s important to adhere to the Safe Area Layout Guides. The safe area code can be accessed by using the safeAreaLayoutGuide. Furthermore, whether developers use layout margins to calculate manual layouts or do it in the Interface Builder, the safe area layout guides must be enabled in the File Inspector of the storyboard.
When the safe area layout guide is turned on, the leading trail edges and the constraints connected to the scene’s top and bottom layout guides will be automatically upgraded in existing storyboards. At this juncture, it’s critical to review and test the constraints once the safe area layout guides are enabled.
Often, any controls or content placed in the corners will have to be moved to avoid being clipped by the iPhone X’s rounded corners. Controls and content may also need to be inset to enable seamless gesturing between controls and the Home indicator.
The iOS 11 update unifies the search and navigation bars, so it will look pretty bad if developers fail to unify it for the iPhone X. Additionally, the iPhone X utilizes a @3x image scale factor. Image assets provided in PDF format will be the best option, but if rasterization is necessary, it must include both @2x and @3x to support all devices.
Together with the new Android Note 8, the iPhone X will probably pave the way for a new era of innovation in mobile app development. This has the potential to create new business opportunities for the development community if they can maintain quality while enhancing engagement.
If you’re a developer and you haven’t already engaged in testing the quality and functionality of the new platform, you’re basically at risk of being left behind as innovation continues to accelerate within this space. So don’t waste any time getting some hands-on experience!