Apple’s feature-rich beta release of iOS 9 arrives with many long-awaited developer-focused features. These include big improvements for app multitasking, streamlined game creation, improved security, easier cross-platform app delivery, improved app search and much more.
Three new features allow users to view multiple apps at once: Slide Over, Split View and Picture in Picture.
Slide Over and Split View let users display a primary and secondary app together. In Slide Over, the secondary app overlays the primary app and in Split View they share the screen. Split View allows simultaneous interaction, whereas Slide Over does not. Slide Over runs on iPad Air2, iPad Air, iPad mini 3 and iPad mini 2, but Split View only works on iPad Air2.
Picture in Picture allows users to run a video on top of another app. Developers wanting to add PiP use AVKit or AV Foundation APIs. The video playback class in Media Player framework is deprecated.
Search in iOS 9 features Siri combined with deep links, which allows users to search within developer-indexed apps. Users can reach indexed app content for uninstalled apps via Spotlight, Safari search, Handoff or Siri suggestions. Content can be provided through both the iOS 9 private on-device index and Apple’s server-side index.
iOS 9 lets game developers harness more GPU power and improve game graphics and audio:
- The GameplayKit framework has new randomization tools plus entity-components for improved reusability. It adds state machines, common gameplay algorithms, high-level specification of movement behaviors and rule systems to support data-driven logic, fuzzy reasoning and emergent behavior.
- Model I/O enables importing scene data from popular game authoring software. It assists in creating mesh, lighting and background textures, improving asset data loading to the GPU and exporting asset data to different file formats.
- MetalKit framework provides utility functions and classes to facilitate Metal app creation.
- The Metal Performance Shaders framework contains optimized computer and graphics shaders for Metal apps such as Gaussian blur, image histogram and Sobel edge detection.
- The Metal, ScenekKit and SpriteKit frameworks have many new features including stencil textures, depth clamping, more pixel formats, rendering support, Xcode scene and action editors, positional audio and camera nodes for scrolling games.
App Thinning helps developers create optimized installations for a range of platforms. Artwork in the Asset Catalog can be tagged so that only artwork applicable to a specific platforms is delivered. Additional app content can be fetched on-demand by the app from the iTunes App Store repository. Apps can now be archived in intermediate formats that are compiled as either a 32-bit or 64-bit executable when delivered to a platform.
App Transport Security
ATS is now on by default in iOS 9, which allows apps to avoid accidental data disclosures. To prepare for transitioning to ATS, apps should immediately use HTTPS exclusively for back end communications while beginning migration to ATS. Furthermore, high-level API communication must be through TLS version 1.2.
Other New Frameworks
- Contacts and Contacts UI Frameworks are object-oriented replacements for the Address Book and Address Book UI frameworks, respectively.
- Watch Connectivity enables iOS apps to coordinate with corresponding Watch apps via immediate and background messaging.
- Standard UIKit controls can be automatically flipped when in a right-to-left context and be optimized with UIView and a new UIImage method imageFlippedForRightToLeftLayoutDirection.
- Extension Points define usage policies and provide APIs for app network extensions, Safari extensions, Index Maintenance and Audio Unit extensions.
- New types of encryption keys and item protection options are provided in Keychain such as ACL constraints for Touch ID, invalidating keychain items when fingerprints change, an authentication context for SecItem and key generation within the secure enclave.
- A new speech synthesis API in AV Foundation Framework adds voice identifiers in addition to language IDs.
- CloudKit services can provide users web-based access to the same data provided by iOS 9 apps.
- HealthKit Framework has added tracking of reproductive health and UV exposure plus support for bulk delete operations.
- Additional Local Authentication Framework support allows apps to track fingerprint enrollment, cancel user prompts, evaluate keychain ACLs and reuse Touch ID matches.
- Maps can now be launched into transit directions and a 3D flyover mode has been added. Additionally, improved annotations and time zones in search results are now supported by the MapKit Framework.
- Apple Pay via the PassKit Framework now supports the use of Discover cards and store debit/credit cards. Payment networks and card issuers can add cards to Apple Pay directly from their apps.
- For apps that wish to support direct access to related web content within the app, Safari Services Framework has added SFSafariViewController that displays a single page with a Done button.
- UIKit Framework has added support for subviews stacking in both horizontal and vertical directions, new layout anchors, direct document modification, access to intermediate touches, text input in notifications plus many other enhancements.
This latest iOS 9 beta release is the biggest one to-date, which brings an abundance of enhancements and new capabilities for developers to enrich their apps and make them more accessible to users. From more efficient GPU usage to improved user-level multitasking to leaps forward for gaming apps, the newest iOS 9 additions should be welcomed with open arms by developers worldwide.