WWDC was just last week and there are many resources online which you can refer to for details about the new APIs. In this issue, I'll list the items I think are particularly important and useful for sharing (with your peers, designers, managers, customers) for discussion purposes.
- There is a paradigm shift in how apps running on different screen sizes and orientation are supported. APIs have been updated so that UI is laid out based on size classes (regular vs. compact) for the height and width of the current orientation. In short, it is generally easier to write a universal app that supports for iPhone and iPad, and in different device orientations.
- The orientation-related methods in
UIViewControllerto handle rotation are now deprecated
Other UI-related classes that has been updated
- Presenting view controllers has been tweaked to support adaptive user interfaces
UIVisualEffectsupports applying blurring (or vibrancy) effects on view hierarchies. This is the dynamic complement to doing static blurs by creating a screenshot and blurring the screenshot.
- New support for changing the size and hiding of bars (like the navigation bar and toolbar in Safari)
There are several types of extensions available including:
- Sharing sheets (think like sharing via email or Facebook)
- Photo editing extensions that allow editing of photos in Photos app
- Actions. Action extensions allow editing an app’s content. Example a Safari extension will have access to the DOM, allow translation of the current web page (think about the demo translation extension where you can pull the DOM, translate and replace the DOM with the translated version)
- Document Picker allows apps to open content from other storage services such as Box and Dropbox
- Widgets (a.k.a. Today extensions) can be installed into Notification Center. (like the Stock widget)
- Custom keyboards allow users to install a keyboard replacement
An Apple-hosted data cloud storage API supporting both small records and BLOB data types, with generous free quotas. Note that it's a cloud storage API and offers no persistence on the app side, and currently has no API exposed for writing third-party wrappers (e.g. for use in a server-side app)
Local Authentication Framework
Apps can now access Touch ID for authentication using the Local Authentication framework
Access content in cloud storage (see Extensions) and other apps' sandbox.
This lets iOS apps broadcast metadata about the content which the the user is working on, so the user can continue working on the same document or task after moving to the corresponding OS X Yosemite app and vice versa.
- Photos framework replaces the Assets Library framework
- AV Kit replaces Media Player
- Scene Kit for 3D graphics
- Health Kit for managing health-related information
- Home Kit for communicating with and controlling connected devices in a user's home
- Metal for low-overhead access to GPU
APIs with Significant Changes
Manual controls for manipulating camera focus, white balance and exposure in the camera is now exposed
- Notifications can now have actions attached to them. E.g. you can allow users to mark a TODO item as done straight from the notification.
- Registration for notifications has changed.
- Apps can now check if notifications has been enabled
- Push payload size limit has now been increased from 256 bytes to 2kb payload size
- There is now an API to open an app’s settings screen in the Settings app
- App settings screen now aggregate other settings regarding the app such as Notifications and permission to use cellular data.
StoreKit Supports Affiliate and Campaign Tokens
SKStoreProductViewController now supports affiliate token and campaign token
Core Location now determines which (building) floor the device is on
iTunes Connect & App Store
- Analytics of app store page views, as well as conversion rate from views to app downloads
- TestFlight with a limit of public 1000 users (not devices) and an additional 25 internal beta testers. Public beta builds needs to go through beta approval.
- Crash analytics
- App bundles, each up to 10 apps with a single price can be created, with a “complete my bundle” functionality
- Video preview of up to 30 secs can be including alongside the screenshots
Xcode & Simulator
- There is now a view debugger built into Xcode for examining view hierarchies at runtime
- Xcode now supports both iPhone and iPad in a single Storyboard
- Storyboards now supports previewing custom views
- The iOS simulator has a resizable iOS device to help in testing app layouts