If the calls to renderInContext on the layer backing an MKMapView are made off the main thread, they should be eliminated or moved to the main thread. Failure to do so can cause an app crash. Instead of usingrenderInContext, use the new MKMapSnapshotter APIs.
Fixed in Seed 3
On a clean install, launching Messages presents an empty message list instead of a new compose window.
The existing Messages database may be deleted after a restore or upgrade if:
You do not sign in to iCloud during the Setup Assistant.
The iMessage and iCloud accounts use different IDs.
Messages app crashes after viewing any attachments on two separate threads.Workaround: The attachments are viewable after relaunching Messages.
Many updates to the MCSession APIs are included in this seed. The APIs now function as they were presented at WWDC. Major changes and enhancements include:
The following new method on MCSession has been implemented: - (NSOutputStream *)startStreamWithName:(NSString *)streamName toPeer:(MCPeerID *)peerID error:(NSError **)errorThis delegate method has been implemented: - (void)session:(MCSession *)session didReceiveStream:(NSInputStream *)stream withName:(NSString *)streamName fromPeer:(MCPeerID *)peerIDThe following new method on MCSession has been implemented: - (NSProgress *)sendResourceAtURL:(NSURL *)resourceURL withName:(NSString *)resourceName toPeer:(MCPeerID *)peerID withCompletionHandler:(void(^)(NSError *error))completionHandlerThe delegate method to start receiving a resource from remote peer has been implemented as: - (void)session:(MCSession *)session didStartReceivingResourceWithName:(NSString *)resourceName fromPeer:(MCPeerID *)peerID withProgress:(NSProgress *)progressThe delegate method to finish receiving a resource from remote peer and save the content in a temporary location is implemented as: - (void)session:(MCSession *)session didFinishReceivingResourceWithName:(NSString *)resourceName fromPeer:(MCPeerID *)peerID atURL:(NSURL *)localURL withError:(NSError *)error
Note: The app is responsible for moving the file to a permanent location within its sandbox.
MCAdvertiserAssistant is a new class. It is a convenience class for implementing an Advertiser, which handles invitations and connections to an MCSession.MCSession has a new initWithPeer: method.
sendResource has added "with" to the completionHandler.
The timeout has been removed from connectPeer:withNearbyConnectionData.
See "WWDC Session 701: Multipeer Connectivity" for more information on these APIs.
Fixed in Seed 3
MPMediaPickerController has been disabled for this seed. It will immediately return as if the user canceled the selection.
Cellular fallback is a technology that will attempt to connect over the cellular interface when a connection over the Wi-Fi interface does not succeed. There are a number of cases where connection failures may occur over Wi-Fi, such as a cable modem in need of a reboot or a firewall that blocks access to certain resources.If your app restricts network operations over the cellular network, verify that your code is using the proper API to implement that policy.For example, if your app watches SCNetworkReachability for the kSCNetworkReachabilityFlagsIsWWAN to monitor when Wi-Fi is available, it may not behave correctly under cellular fallback.
Sign up for CIO Asia eNewsletters.