APIs and access are driving more and more developers to Apple's platforms. From the WWDC 2016 keynote and platform state of the union, we learned that Apple is giving direct access to the core features of iOS, OS X, and watchOS to allow for the next-generation apps on those platforms. APIs like SiriKit have long been dreamed of by developers, and now have actually came true. Learn what has changed in the world of developer API access on macOS, iOS, tvOS, and watchOS.
A big announcement at WWDC 2016 is that Siri APIs make it possible for developers to be integrated right into the Siri UI, allowing for parsing of the user's speech into actionable items (Figure A).
The SiriKit API works with the following app types this year, though, we'll likely see additional supported app types in the future:
- Audio or video calling
- Searching photos
- Ride booking
SiriKit is easy to work with because it has simple object return types. You provide a seed dictionary so Siri can gain context for your app; then, your app gets returned back a set of data based on the user's intent, allowing your app to perform an action, and give Siri back a response for the user.
Apple Pay has been around for nearly two years, and it consistently gets better with each passing year. This year, Apple decided to make the mobile payments platform even better by bringing it to two new platforms: the web, and Apple Watch apps.
That's right, the web now can integrate with Apple Pay to take payments with a user who has authenticated with a compatible iOS device and Apple Pay cards. This exciting new feature means that websites will soon be able to take secure mobile payments, and this is coming at a time when credit card security needs to be greatly improved.
The process of signing into subscription TV accounts on Apple TV and iOS apps to view the latest episodes of our favorite shows and movies is known as a clientless authentication flow, and it's not very user friendly. Apple aims to change that with this new VideoSubscriberAccount framework, which is designed to allow a user to sign in once, and unlock all apps that have implemented this Single Sign On Apple implementation in their apps.
According to Apple, this technology "help[s] apps that support authenticated streaming or authenticated video on demand (also known as TV Everywhere) authenticate with their cable or satellite TV provider."
At the time of this writing, Apple does not have further information on this important future-proofing technology or details about how it works. Additional information for VideoSubscriberAccount.framework can be gleaned in session #206, What's New in tvOS.
3D Touch widgets
3D Touch appeared on the iPhone 6s devices last fall, but Apple is upping the features and functionality of 3D Touch for third-party apps and how they're able to be interacted with on the Home Screen (Figure B).
If your app supports Notification Center widgets and implements display modes (NCWidgetDisplayMode), then your app will automatically be opted into having its widget displayed on the Home Screen when 3D Touching its icon, allowing the user to get more information without fully opening your app.
iCloud data sharing
iCloud's CloudKit functionality has grown exponentially since iOS 8, but this year Apple aims to improve the shareability of data stored in a user's iCloud account.
Traditionally CloudKit data has only been public (accessible by all app users) or private (accessible only by one user). A new CloudKit feature allows developers to implement a share feature for private data that lets users share it with other iCloud users, giving the user full control over read/write privileges. All shared records remain stored in the owner's private database.
More information on this feature will be revealed in Thursday's session #226, What's New with CloudKit.
Messages app APIs
Apple has grown the Messages app from a simplistic MMS/iMessage app into an app that has the capabilities of SnapChat with the OS-level integration of iMessage.
Developers get access to two new aspects of the Messages app:
- Sticker packs let developers create a custom set of image-based "stickers" that can be placed in a chat. This is very similar to Facebook or other social media app stickers.
- iMessage apps let developers create full user interfaces that appear inline in the chat interface to do any number of tasks and show any number of inline interactive messages.
For more information, see the Messages framework reference. There is also session #204, iMessage Apps and Stickers, Part 1, and session #224, iMessage Apps and Stickers, Part 2, coming up, so more specifics are expected.
Speech recognition framework
SFSpeechRecognizer is a new class available as a part of the new Speech framework. This amazing new API lets you transcribe audio into text using Apple's Siri services.
This new feature can perform transcription in real-time, or after the fact using a recorded audio file. This is a protected service, however, and requires explicit access from the user to transcribe audio.
This feature is also included in iOS 10 as a part of user voicemail transcriptions.
In addition to creating new APIs listed above, Apple has also been busy bringing over some existing APIs to new platforms. Below are the platforms that received some existing APIs for the first time.
tvOS received the following iOS APIs:
watchOS received the following iOS APIs:
macOS received the following APIs:
- Apple File System revealed at WWDC 2016, focused on encryption and SSD support (TechRepublic)
- WWDC 2016: Apple's product announcements are losing punch (TechRepublic)
- WWDC 2016: Here's Apple's pick of this year's best-designed apps (ZDNet)
- Apple makes its AI pivot with Siri and iOS 10, plays to strengths, developers (ZDNet)
- Apple to app makers: Come on in! OK, now stop right there (CNET)
- Apple's Swift programming language: The smart person's guide (TechRepublic)
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.
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.