Just like the previous beta release i.e three weeks after iOS 6 beta 3, Apple has pushed iOS 6 beta 4 to the developer community. Developers running beta 3 on their iOS devices can grab the update either as an over the air (OTA) update or manually download iOS 6 beta 4 .IPSW files from Apple’s iOS Developer Center and apply the update using latest version of iTunes. An updated Xcode 4.5 Developer preview 4 and Apple TV iOS 6 beta has also been released. Apple is expected to launch iOS 6 to the public this fall, presumably alongside the new iPhone at widely rumoured September 12 media event.
The fourth iOS 6 beta arrives as Build 10A5376e. Here are some highlights from the release notes:
- FIXED: When an app is in a fresh privacy state and tries to present a
ABNewPersonViewController, the user cannot dismiss that view controller properly, even if the user allows access to contacts. The user must force quit the app and relaunch.
- Requesting access to contacts:
- Users are able to grant or deny access to contact data on a per-app basis. To request access to contact data, call the
ABAddressBookRequestAccessWithCompletionfunction after calling the
ABAddressBookRequestAccessWithCompletionfunction does not block the app while the user is being asked to grant or deny access. Until access has been granted, the
ABAddressBookRefobject will not contain any contacts, and any attempt to modify contacts fails with a
kABOperationNotPermittedByUserErrorerror. The user is prompted only the first time access is requested; any subsequent calls to
ABAddressBookCreateWithOptionswill use the existing permissions. The completion handler is called on an arbitrary queue. If the
ABAddressBookRefobject is used throughout the app, then all usage must be dispatched to the same queue to use
ABAddressBookRefin a thread-safe manner.
- Checking access authorization status:
- An app can use the authorization status API to check if it can access contacts, calendars, reminders, or the photo library. This API is independent from the request access API and will not prompt the user to grant or deny access. With this API an app can adjust the display of its UI elements that would access the data class. For example, if access to contacts is authorized or not determined, then a UI button to pick a contact can be displayed.
- For Address Book, call the
ABAddressBookGetAuthorizationStatusfunction. For Event Kit, call the
authorizationStatusForEntityType:class method of
EKEventStore. For Assets Library, call the
authorizationStatusclass method of
ALAssetsLibrary. The meaning of the status values that are returned is as follows:
- Authorization Status Not Determined—The user has not yet made a choice regarding whether this app can access the data class.
- Authorization Status Restricted—This app is not authorized to access the data class. The user cannot change this app’s status, possibly due to active restrictions such as parental controls being in place.
- Authorization Status Denied—The user explicitly denied access to the data class for this app.
- Authorization Status Authorized—This app is authorized to access the data class.
- FIXED: In some cases, the screen may show the wrong resolution. Restart your Apple TV to return it to the correct resolution.
- FIXED: Apple TV may restart while using the Remote app.
- FIXED: Apple TV may restart when changing the system language.
- FIXED: Photo Stream does not load when logging in a second time. Restart Apple TV to resolve.
- Music does not play during photo slideshows.
- Screen saver may revert to using the default images after installing update.
- FIXED: When creating a new Game Center account in-app on the iPad, the popover for selecting the month of your date of birth shows up with no content to select.
GKLocalPlayerhas been removed. Authentication will commence automatically when the completion handler is set.
- As of iOS 6 beta 4,
GKGameCenterViewControllersingleton is no longer supported.
- As of iOS 6 beta 4,
GKScore+Sharing.h fileand associate category are removed.
- When creating an iCloud account, you can use any email-based Apple ID or your existing iCloud account. If you had a MobileMe account that you did not move to iCloud, you can use that Apple ID to sign up for a new iCloud account (none of your previous MobileMe data will be present).
icloud.comemail addresses are now available for iCloud mail users. Users signing up for new Apple IDs, or enabling Mail on their iCloud account for the first time, will automatically receive an
@icloud.comemail address instead of a
me.comemail address. iCloud users with
@me.comaddresses that have been used with iOS 6 beta 3 or later will receive an
@icloud.comemail address that matches their
icloud.comemail cannot be sent from www.icloud.com. Users should use http://beta.icloud.com at this time if they wish to use a web browser to send email from their
@icloud.comaddresses will be added within two weeks of first using iOS 6.
- iTunes 10.6.3 is required for iOS SDK 6.0.
- Previous public betas of iOS can no longer download iTunes Match songs.
- In iOS 6 and later, Map Kit is built on a new infrastructure hosted by Apple. Earlier iOS releases will continue to use Google’s service.Routing apps that do not specify a coverage file during development will always be displayed in the Maps routing search results.
- API compatibility will be maintained (see known issues below).
- Maps are now supported in Simulator.
- Map data will continue to evolve—only a limited amount of high-resolution satellite imagery is currently available.
- Testing and debugging of coverage files for routing apps is only supported during development through the Xcode Run workflow. (You can specify the coverage file for a given Run scheme using the Options pane of the Run section of the scheme editor.) Apps that are archived and distributed (outside of the App Store) onto devices will not have access to the app’s coverage files.
- FIXED: Maps does not zoom into the current location when launched from a third-party app.