What Are iOS 13’s Headline New Features for iPhone Users?
iOS 13 is released on September 19th. It adds new features and a range of performance enhancements for eligible devices (iPhone 6S onwards, iPhone SE, and iPod Touch 7G). You’ve probably heard about many from Apple’s iPhone 11 Keynote speech last week – but if not, here’s a quick roundup.
iOS 13’s headline features
- Dark mode across iOS 13 – including apps
- Performance enhancements – including 2x faster app launches, and smaller app downloads/updates
- ‘Sign in with Apple’ – a new SSO (single sign-on) option for websites and apps that promises to protect user privacy
- Augmented reality features – including support for motion capture and people occlusion
- Enhanced photo and video editing features
- New HomeKit features and controls
- New Apple Health features
- A brand-new Apple Maps app – with a range of new features
- …and many more improvements listed on Apple’s iOS 13 page
iPad owners will have to wait until September 30th for iPadOS, which has branched from iOS as a separate mobile operating system for the iPad.
How will iOS 13 Impact App Developers?
Alongside new features, Apple has made some significant changes to core iOS functionality and APIs- particularly in regards to user privacy. Some of these changes could break the core features for certain apps – so read on to discover how your app could be affected.
SwiftUI is a new and powerful way to design apps
Xcode 11 includes SwiftUI – a new framework and set of design tools for building user interfaces. Developers enjoy a split-screen experience that renders Swift code as a visual preview and enables drag-and-drop functionality.
iPad apps can be exported as MacOS apps
Any iPad app can be exported as a Mac app with Xcode 11, which potentially opens up new markets, target audiences, and use cases for app developers. Apple includes instructions for exporting iPad apps for MacOS on their website.
iOS 13 Dark Mode tools are included
iOS 13’s Dark Mode is factored into Xcode 11, with the ability to switch between light and dark mode on-the-fly, and an included asset catalog to manage images and colors for the two modes.
According to Apple, ‘SwiftUI requires iOS 13, watchOS 6, tvOS 13, or macOS Catalina. To use the SwiftUI design canvas Xcode 11 must be running on macOS Catalina’.
App developers must add ‘Sign in with Apple’ as a login option
Apple requires app developers to implement their new privacy-focused ‘Sign in with Apple’ SSO option anywhere that a third-party SSO is offered – EG. Google, or Facebook’s SSO.
‘Sign in with Apple’ enables users to decide if they want to share their real email address with an app developer. If not, they can generate a random email address and route any emails to their real iCloud address. At any time, they can disable this random email address and stop receiving any mail. Their real email address and personal data will be protected from the app’s owners.
If your app offers SSO then you must add ‘Sign in with Apple’ as an option.
Messaging apps can’t decrypt with PushKit API anymore
Apple’s continuing focus on privacy should reassure consumers, but iOS13 has big implications for messaging apps – which can no longer use PushKit API for encryption/decryption.
PushKit API was designed to enable apps to connect VoIP calls. However, developers quickly repurposed this background process for other tasks – like decrypting encrypted messages in the background, rather than manually notifying the user.
While this specific use case might be legitimate, it raises concerns about other potential activities – like apps silently collecting location data, or draining the device’s battery.
PushKit will be restricted to VoIP calls in iOS 13. Apparently it’s not impossible to work around these restrictions, but new solutions could involve significant effort, and alternative solutions to encrypt and decrypt messages in iOS may be inferior to the PushKit solution.
Apple announced upcoming changes to background app functionality at WWDC 2019, and it lead to Facebook Messenger and WhatsApp – among other VoIP providers – modifying their apps to work around the restrictions. However, a report from The Information suggests that Apple’s changes will affect other functions, including message encryption/decryption – which will affect apps including Signal, Wickr, Threema, and Wire.
Apps have until April 2020 to comply with the new changes. However, if developers want to make use of iOS 13’s new features then they’ll need to comply with these changes earlier.
Apple claim that they’re trying to protect users and are interested in working with developers to find a constructive solution.
“We’ve heard feedback on the API changes introduced in iOS 13 to further protect user privacy and are working closely with iOS developers to help them implement their feature requests,” – Apple
‘Always On’ Geolocation option is hidden in iOS 13 settings
Apple’s Geolocation feature is also affected by privacy-focused changes in iOS 13. Users now have more options to limit the ability of apps to track their location data – but the ‘Always On’ choice is now hidden deep inside iOS settings.
Alongside standard choices like ‘Always’ or ‘Only while Using’, users of location-tracking apps will be able to pick ‘Allow Once’ and limit the app to one-time-only geolocation.
However, the ‘Always Allow’ option will be buried inside iOS settings – so users will have to be directed to head there and manually enable this feature if required. Having enabled ‘Always Allow’, the system will show a map of all user location tracking.
Adjusting to a Privacy-Focused App Development Landscape with iOS 13
While iOS 13 does present certain technical challenges, it’s important to consider that Apple is responding to growing concerns from smartphone and app users about the potential for their personal data to be abused by technology companies. Designing your apps to respect user privacy from the ground-up is likely to result in less dramatic changes being required in future iOS updates.