iOS 8 Release Notes

iOS SDK Release Notes for iOS 8.0 GM

Contents:

Introduction

iOS SDK 8.0 provides support for developing iOS apps. It is packaged with a complete set of Xcode tools, compilers, and frameworks for creating apps for iOS and OS X. These tools include the Xcode IDE and the Instruments analysis tool, among many others.

With this software you can develop apps for iPhone, iPad, or iPod touch running iOS 8. You can also test your apps using the included iOS Simulator, which supports iOS 8. iOS SDK 8.0 requires a Mac computer running OS X v10.9.3 (Mavericks) or later.

This version of iOS is intended for installation only on devices registered with the Apple Developer Program. Attempting to install this version of iOS in an unauthorized manner could put your device in an unusable state.

Backup and Restore

Fixed in GM Seed

CloudKit

Note

A single CKAsset instance can no longer be set as a value on multiple CKRecords.

Contacts

Note

The Address Book UI people picker has been changed for iOS 8. A new mode with new API has been added where the app does not need access to the user’s contacts and the user will not be prompted for access. A temporary copy of the selected person is returned to the app. See ABPeoplePickerNavigationController.h for more details.

See the new PeoplePicker: Picking a Person or Property sample project demonstrating usage of the new mode.

Document Providers

Notes

Your app needs the iCloud entitlement to be able to be used as a document provider.

The com.apple.developer.icloud-container-identifiers entitlement will be required when iOS 8 is released.

Fixed in GM Seed

On iPhone, bringing up DocMenu from Locations in DocPicker, overlaps with status bar.

Known Issues

After rotating document picker to landscape, the status bar is hidden.

Upon bringing up document picker in landscape, the containing view may be shifted beneath the navigation bar.

Extensions

Notes

Extensions need an arm64 slice to run on 64-bit devices. If you try to run the armv7 slice on a 64-bit device it won’t work.

Apps need to have an arm64 slice if the bundle contains a framework that both the app and the app extension link against.

Workaround: Instead of updating, the items have to be deleted and added again.

iTunes Sync

Fixed in GM Seed

Apps do not sync from a device to iTunes.

Keyboards

Known Issues

Network access gets disabled after adding a new keyboard from the same bundle.

Custom Keyboards may go blank after app switching.

Workaround: Dismiss the keyboard and bring it up again; this should reload the view.

Mail

Known Issue

Applying the Allow Account Modification restriction to a device with no mail accounts configured will still allow a user to create a Mail account by launching the Mail app.

Maps

Fixed in GM Seed

When viewed in the Simulator, the "Hybrid" view in Maps and MapKit apps does not show all of the tiles.

Metal

Known Issue

When you modify a metal file shader using offline compilation to create a metallib library that has shrunk in size, the metallib library will fail to load on the device.

Workaround: Delete the metallib library before recreating it by doing a clean in Xcode or removing the file manually before building the archive.

Notification Center

Note

The schedule and intended use of widgetPerformUpdateWithCompletionHandler: is intended as a convenient home for all data/model update logic. If implemented, the system will call at opportune times for the widget to update its state, both when Notification Center is visible, as well as in the background. An implementation is required to enable background updates. It’s expected that the widget will perform the work to update asynchronously and off the main thread as much as possible. Widgets should call the argument block when the work is complete, passing the appropriate NCUpdateResult. Widgets should NOT block returning from viewWillAppear: on the results of this operation. Instead, widgets should load cached state in viewWillAppear: in order to match the state of the view from the last viewWillDisappear:, then transition smoothly to the new data when it arrives.

NSURLSession

Note

The NSURLSessionTask class provides a new “priority” property with three associated constants: NSURLSessionTaskPriorityDefault, NSURLSessionTaskPriorityLow, and NSURLSessionTaskPriorityHigh. NSURLSessionTask priorities can be used to specify how multiple requests and responses to the same host should be prioritized. Note that the priority is a hint and not a strict guarantee of NSURLSessionTask performance.

For complete usage details of NSURLSessionTask priorities, refer to the NSURLSession.h header file, which is provided by the Foundation framework.

Phone

Notes

If the carrier does not have the user’s registered emergency address, you will be asked to add it before the feature is activated.

Photos

Notes

If you installed Beta 5 on the device, you should erase the device after installing the GM Seed. (Settings > General > Reset > Erase All Content and Settings).

iCloud Photo Library requires the GM Seed.

Maintain a backup of your photo library before enabling and while using iCloud Photo Library beta by:

Importing to your Mac using iPhoto

Importing to your Mac using Image Capture

iCloud Photo Library beta will not download photos and videos that were synced to your device from iTunes.

iPhoto for iOS will not launch on iOS 8 Beta. Launching Photos.app will migrate your iPhoto edits to the iOS 8 Photo Library. Make sure your iPhoto for iOS data is included in your device backup.

Known Issues

The ability to automatically optimize device space is enabled for all accounts larger than 5GB.

When using iCloud Family Sharing, both iCloud Photo Sharing and My Photo Stream are enabled.

If you exceed your iCloud storage quota, your Photos library will no longer update iCloud. Photos and videos can be downloaded or deleted from iCloud.com.

Provisioning Profiles

Known Issue

If you have upgraded to the GM seed from other betas you may see your apps crashing due to provisioning profile issues.

Workaround:

Connect the device via USB to your Mac

Launch Xcode

Choose Window -> Devices

Right click on the device in left column, choose "Show Provisioning Profiles"

Click on the provisioning profile in question

Press the "-" button

Continue to removing all affected profiles.

Re-install the app

Quicklook

Fixed in GM Seed

PDF files may not display in some applications.

Safari

Notes

Safari now blocks ads from automatically redirecting to the App Store without user interaction. If you still see the previous behavior, or find legitimate redirection to the App Store to be broken in some way, please file a bug.

You can now quickly add a site to Shared Links or save a bookmark by tapping and holding the bookmarks button.

Settings

Fixed in GM Seed

Some icons are missing in Settings and only appear after the row is tapped.

Setup

Fixed in GM Seed

Updating the iCloud settings screen may appear to hang during setup.

Siri

Known Issue

Shazam with Siri and Purchase iTunes Content with Siri are not functional in the GM seed. They will be available once iOS 8 is released to the general public.

Speech Synthesis

Known Issue

Workaround: If you don’t hear speech in a particular language or dialect, go Settings > General > Accessibility > Speech >Voices >Language and download the Enhanced Quality voice for that language/dialect.

Stores

Known Issue

Sometimes, loading certain pages or performing a search on the App Store or iTunes Store can be slow.

Fixed in GM Seed

Known Issue

Workaround: Show RTF files to the user is to use the Quick Look framework (QLPreviewController) or to load an NSAttributedString from the RTF file and show it in an UITextView, which will render the content in a much cleaner way.

Wi-Fi Calling (T-Mobile US only)

Note

The carrier name in the status bar will show “T-Mobile Wi-Fi” when the device is able to make and receive Wi-Fi calls.

WebKit

Notes

Subpixel rendering is now on by default for all web content. Websites or in-app web views with extremely tight design constraints may render differently. Solutions for each issue will vary, but use Web Inspector to adjust position, border thickness, and width or height of elements.

The minimal-ui viewport property is no longer supported in iOS 8.

Known Issues

The window.outerWidth and window.outerHeight DOM properties always return 0. Other DOM properties will need to be used instead. This may affect websites that use leaf.js.

Third party apps that use WKWebView will not be able to participate in Kerberos Single Sign On reliably. To work around this issue, use UIWebView instead.