Clicky

iOS Dev Nugget 87 What's New in iOS 8

.

Need to run a code review on your codebase? Hire me

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.

User Interface

Adaptive UI

  • 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 UIViewController to handle rotation are now deprecated

Other UI-related classes that has been updated

  • Presenting view controllers has been tweaked to support adaptive user interfaces
  • UISearchController replaces UISearchDisplayController
  • UIAlertController replaces UIActionSheet` andUIAlertView`
  • UIVisualEffect supports 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)

New Frameworks

Extensions

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

Cloud Kit

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

Document Picker

Access content in cloud storage (see Extensions) and other apps' sandbox.

Handoff

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.

Others

  • 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

Camera

Manual controls for manipulating camera focus, white balance and exposure in the camera is now exposed

Notifications

  • 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

Settings

  • 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

Core Location now determines which (building) floor the device is on

Tools

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


Your feedback is valuable: Do you want more nuggets like this?   Yes   or   No

.

.

Like this and want such iOS dev nuggets to be emailed to you, weekly?

Sign Me Up! or follow @iosdevnuggets on Twitter

.

View archives of past issues