This year’s Worldwide Developers Conference in June saw Apple introduce iOS 13, the latest version of its mobile operating system. The new iOS 13 features that consumers will most readily notice are Sign in with Apple, which offers new privacy considerations, and the long-awaited Dark Mode that should help with battery life and those tired eyes users get from a bright white screen.
For developers, the launch of iOS 13 also sees the release of Xcode 11, the developer toolkit used to create apps across all Apple devices. Xcode 11 powers the SDK for iOS 13 and its new features, seven of which we’ll review in this article. These new features, as well as more iOS topics, are covered in my new iOS 13 course.
New iOS 13 features that developers need to know
1. Sign in with Apple
Arguably the most significant change in iOS 13 for developers is the introduction of Apple’s own Single Sign-On (SSO) solution for logging into apps. SSOs offer a convenient way to let your app’s users sign in without having to create a new account and password. The most common SSOs for apps are from Facebook and Google with prompts like “Sign in using your Google account.”
Apple and privacy advocates see this as a major win for customers since users will have more specific control of which personal data third-party app companies can access and for how long they’ll have access to this personal information. With the launch of this feature, Apple requires any app that offers an SSO option to also provide a Sign in with Apple option at login. Sign in with Apple only allows an app to access the user’s first and last name. Users can still receive relevant emails from an app, but they can opt to have Apple relay those to their Apple ID or through an intermediary address that forwards to a personal email account. Users can then delete that forwarding address whenever they want, effectively severing communication lines with a third-party company.
This is a feature many companies are nervous to see since it could greatly impact how they interact with and keep users as customers. For developers, this addition adds significant considerations for the creation of apps and how companies then interact with and market to customers. Apple, though, saw this step as an important safeguard for consumer privacy to ensure companies do not abuse the data they receive from users.
A helpful aspect of Sign in with Apple is the use of FaceID, TouchID, and on-phone gyroscope to confidently indicate whether a real human user or a bot is signing into an app. This is a valuable feature for developers and product teams to ensure the users they think they’re building apps for are actually humans. This helps ensure developers are receiving reliable data on the use of their apps.
Discover all the courses that can upskill your team in mobile app development with a Udemy for Business demo.
With the updates to Xcode 11 also comes the introduction of SwiftUI, a framework of tools and APIs for building user interfaces on iOS apps. Think of SwiftUI as the visual side of your app. Teams can integrate SwiftUI to an existing project or start a new one with the framework as a starting point.
As much potential as I think SwiftUI offers, I don’t recommend development teams immediately shift all operations to SwiftUI over UIKit. As of this writing, SwiftUI has some bugs to work through and doesn’t offer as much functionality as UIKit. By 2020, SwiftUI will probably have matured enough for teams to confidently use for development of an app’s interface. For now, though, developers, designers, and relevant teams should start experimenting with the framework and test its functionality on side projects.
3. Swift Package Manager
This is Apple’s official solution for managing the distribution of Swift code and how it’s shared or reused. As of fall 2019, there’s not a ton of support yet for Swift Package Manager, but since it’s part of Xcode, we should see its functionality grow. My hope is that within the first half of 2020 many of the development packages we see in tools like CocoaPods or Carthage will be native to the Swift Package Manager.
4. Dark Mode
The introduction of Dark Mode is another major win for iOS users. Removing blue light from the digital device experience can not only help with eye strain and fatigue, but it also saves battery life and adds a fun visual change to apps.
Developers can expect that this will be an in-demand feature for users. Thankfully, Dark Mode is not difficult to integrate into app builds; I implemented it for an existing app I built in just 20 minutes. Any new apps created in Xcode 11 will see Dark Mode supported by default. Meaning, any app preloaded with a white background and black text will automatically switch to a black background and white text should the user enable Dark Mode.
5. iPad apps for Mac
Formerly known as Marzipan, Project Catalyst is a tool intended to make it easy to port iPad apps to macOS. With just the tick of a single checkbox in Xcode, developers can add MacOS functionality to the iPad or iPhone apps they’ve developed with Swift code. Of course, there will be some differences you’ll need to account for when creating a desktop app and Mac users have a strong sense of design and usability, so I recommend not just blindly repackaging an iPad app as a desktop app. Take the time to consider a desktop user’s different needs and use cases.
While Catalyst is great if you have an existing iPad app, I expect SwiftUI to be the much better option to bring your iOS app to Mac.
6. Native iOS icons
A nice design feature for app teams is the inclusion of SF Symbols in iOS 13, which is a range of over 1,500 icons created by Apple in a selection of weights and sizes. These are vector-based icons so they can be used across screen sizes without sacrificing sharpness and overall quality.
7. Faster downloads
This is an incremental change, yet important change for app performance. Apple says iOS 13 will have 50% faster download speeds and 30% faster FaceID use than its OS predecessors. Where consumers will likely notice this most is when using older Apple devices that can sometimes see performance struggles once they’ve upgraded to newer operating systems. Of course, these faster performance speeds should also help developers keep their users happy and engaged with their products.
There are plenty of exciting changes live now for Apple users who have upgraded to iOS 13. Developers should start planning to experiment with tools like Xcode 11, SwiftUI, and Swift Package Manager, which are being fine-tuned throughout the coming year. Get your app and development team knowledgeable in the latest iOS best practices with my iOS 13 course!
About the author:
Nick Walter is a self-taught programmer. When first learning to program, he found too many resources were frustrating and difficult to follow. Determined to change the way people learn to code, he began teaching others to code online with a goal of empowering their learning from the start. In addition to iOS 13, Nick teaches Django, Kotlin, Python, HTML, Blockchain, and more on Udemy. Follow Nick on Twitter at @nickchuckwalter.
About Udemy for Business:
Udemy for Business is a learning platform that helps companies stay competitive in today’s rapidly changing workplace by offering fresh, relevant on-demand learning content, curated from the Udemy marketplace. Our mission is to help employees do whatever comes next—whether that’s the next project to do, skill to learn, or role to master. We’d love to partner with you on your employee development needs. Get in touch with us at email@example.com