Apple released a ton of new features for iOS 11 at WWDC 2017 on the consumer-facing side of things, but there were just as many surprise announcements for developers. From showstopper additions like drag and drop, to ARKit, to improvements in existing frameworks like Metal, there’s something for everyone and every kind of app in iOS 11.
SEE: Gallery: Everything iOS 11 from Apple’s WWDC 2017 keynote (TechRepublic)
We pull back the curtains on what’s new and most important for developers to pay attention to in the iOS 11 SDK, and how to get more information about these features. See release notes and download the latest version of Xcode on the Apple Developer website.
Drag and drop
One of the biggest changes to iOS 11 is the addition of drag and drop. This longtime macOS feature has made its way to iOS in a big way. Apple has spent a lot of time developing this feature to make it secure and so that it protects users’ data and privacy. For instance: When dragging data over top of apps, the dragged over apps only receive information about the type of file, but no data is transferred until the user drops the file on an app.
The implementation of drag and drop is slightly different on iPads vs. iPhones. On the iPhone and iPod touch, drag and drop can only happen in the foreground app; on the iPad, you can drag and drop between apps and also move to the Home screen while continuing the drag.
This new iOS 11 feature received quite the introduction at WWDC ’17. To learn more about drag and drop, watch these WWDC sessions.
- Introducing Drag and Drop
- Mastering Drag and Drop
- Drag and Drop with Collection and Table View
- Data Delivery with Drag and Drop
SEE: Warning: iOS 11 won’t work with these iPhones and iPads (TechRepublic)
The new Files app in iOS 11 is a system-wide feature; it allows cloud document management apps to register as file providers and display their cloud-based contents inside of the app along with iCloud Drive files.
In addition, apps that work with files can display a new system controller that will let users pick a file from a modal file browser. The new class is called UIDocumentBrowserViewController, and it will give your app and its users access to their files from the Files app without ever leaving the app. One caveat: Because the Files app lets multiple apps access any file, you’ll need to coordinate file access using NSFileCoordinator or use UIDocument for automatic management.
Learn about becoming a file provider and consuming file provider content by watching the App Framework Session 243 (“File Provider Enhancements”) talk.
One of the big surprises at WWDC ’17 was that Apple is entering the augmented reality (AR) game in a huge way with the introduction of ARKit. This new framework lets developers create AR experiences in their apps more easily since the framework can handle accurately tracking the real-world objects in frame, helping apps with the placement of virtual objects for more visual realism.
ARKit can also automatically detect horizontal planes like tables and floors, and can estimate the lighting and provide values to apps in order to help lighting virtual objects for a more realistic look.
This new framework is available for iOS 11 devices running Apple’s A9 and A10 processors. Check out the ARKit website for more details, sample code, and documentation.
SEE: Research: Virtual and augmented reality in the enterprise (Tech Pro Research)
A few years back, Apple announced Metal, a completely new graphics framework that gave iOS developers the ability to directly access the full potential of the GPU on modern iOS and tvOS devices.
Metal 2 has been updated to take advantage of newer iOS devices to provide GPU-accelerated machine learning, and new developer tools that helps debug, optimize, and deploy Metal 2 apps. In addition, Metal 2 is used throughout iOS and macOS now to provide smoother animations in UIKit-based apps out of the box.
Learn more about the changes to Metal 2 in the WWDC ’17 Session 601 (“Introducing Metal 2”).
Since Apple Music was unveiled at WWDC ’15, it has become a hit, with more than 27 million users worldwide. The online streaming music service has been unlocked and become available to all developers with MusicKit.
This new framework available in iOS 11 lets developers access and download data from Apple’s servers about songs and music available through the service, as well as play users’ Apple Music songs, playlists, and special content through their own apps. In addition, MusicKit provides a way for developers to present a join screen if a user isn’t already a member of Apple Music; developers can even enter their Apple Music affiliate program code to earn commissions on each membership purchased in their apps.
Learn more about MusicKit on Apple’s developer website, where you can find sample code and documentation.
SEE: CNET’s coverage of WWDC 2017 (CNET)
Apple announced that starting with iOS 11, developers will no longer be able to ask users for ratings in their apps unless they are using the built-in ratings controller. The controller is a part of the iOS SDK called the SKStoreReviewController, and it’s available in the StoreKit library starting in iOS 10.3 SDK.
Check out the documentation for SKStoreReviewController on the Apple Developer documentation website.
SiriKit was added in iOS 9, but it had limited intents, allowing only a select few developers the ability to take advantage of this integration with their apps. In the new version of SiriKit, Apple has added more intents and changes to existing intents to include more domains. For example, the payment intent now includes paying bills. There’s also a new lists, notes, and QR codes intent.
For more information on the changes to SiriKit, check out WWDC ’17 Session 214 (“What’s New in SiriKit”).
Other tidbits about the iOS 11 SDK
- Password AutoFill automatically shows usernames and passwords in Keyboard auto complete for apps that have it set up.
- CoreML is a new framework to aid machine learning and computer vision implementations on iOS.
- Apple has two new media formats: HEIF for images and HEVC for video, and starting in iOS 11, developers can take advantage of the space-saving and higher-fidelity features of these formats.