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.

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.

Image: Cory Bohon/TechRepublic

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.

File management

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.

ARKit

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.

Metal 2

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.

MusicKit

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.

Ratings controller

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.

SiriKit

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.

About Cory Bohon

Cory Bohon is an indie developer specializing in iOS and OS X development. He runs a software company called Cocoa App and is also a developer at MartianCraft. He was introduced to technology at an early age and has been writing about his favorite te...

Disclosure

Cory Bohon is an indie developer, creating both iOS and OS X applications at Cocoa App (his own company), MartianCraft, and for various other clients. As a part of full disclosure, he does not write about any software that he has created or has helped to create through these outlets.

Full Bio

Cory Bohon is an indie developer specializing in iOS and OS X development. He runs a software company called Cocoa App and is also a developer at MartianCraft. He was introduced to technology at an early age and has been writing about his favorite technology part-time since 2007. He runs a development blog named ObjDev when he isn’t writing about consumer tech.