Those enrolled with Apple’s annual $99 developer program have been handed the first beta of iOS 5.1, an upcoming software update for iOS customers worldwide that promises to deliver fixes and enhancements, as well as security patches, for all device models.
Full details about the iOS 5.1 beta, including the Xcode 4.3 beta arriving alongside the seed, are now available on the Mac blogosphere thanks to people with official access to the builds.
As usual, the sources aren’t named (mostly because Apple has an NDA that forbids leaking this type of information in the first place), but this is really not that important right now.
What’s important is the actual documentation which not only lists existing (known) issues in the software that are about to be patched by Apple, but also new enhancements and tweaks.
Without further ado, the iOS 5.1 Beta and Xcode 4.3 Beta seed notes are available below:Notes and Known Issues
The following issues relate to using the 5.1 SDK to develop code.
When creating an iCloud account, you can use any Apple ID as long as it is a full email address and not a MobileMe account. If you have a MobileMe account, you can move that account to iCloud. You can find more information at: http://me.com/move
• The NSNetService class and CFNetService APIs do not include P2P interfaces by default. To browse, register, or resolve services over P2P interfaces, an application needs to use the Bonjour DNSService*() APIs noted below.
• Setting the interfaceIndex parameter to kDNSServiceInterfaceIndexAny in the following API’s will not include P2P interfaces by default. To include P2P interfaces, you must now set thekDNSServiceFlagsIncludeP2P flag when using kDNSServiceInterfaceIndexAny or set the interfaceIndex to kDNSServiceInterfaceIndexP2P. The affected APIs are:
App Icons and Profile Photos are not loading in apps using Game Center.
• Provisioning profiles must be enabled for iCloud in the iOS Provisioning Portal. You can enable a provisioning profile for iCloud by navigating to the App ID section of the iOS Provisioning Portal and configuring your App ID for iCloud. After enabling the App ID for iCloud, regenerate your provisioning profiles to enable them for iCloud.
• The setSortDescriptors: method of NSMetadataQuery is not supported.
• In iOS 5, files that are protected via Data Protection cannot be used with iCloud Storage APIs.
• File names are case-insensitive in Mac OS X but case-sensitive in iOS. This can lead to problems when sharing files between the two using iCloud. You should take steps on iOS to avoid creating files whose names differ only by case.
Starting in iOS 5.0, in order to facilitate finer-grained playback control, a movie player is not automatically prepared to play upon creation. Call the prepareToPlay method to prepare the movie player. For more information, see MPMoviePlayerController Class Reference
Using shake-to-shuffle causes Music app to freeze and playback to stop.
FIXED: Deleting an issue that was marked as the currently reading issue could cause a crash.
In iOS 5, the signing of certificates with MD5 signatures is not supported. Please ensure that certificates use signature algorithms based on SHA1 or SHA2.
• A bug in the documentation organizer causes an exception when you type in any field in the content area. To prevent the need to log in to the developer website from Xcode, download documentation sets locally using Xcode’s documentation preference pane and enable the ‘Check for and install updates automatically’ checkbox as a workaround.
• “uninstall-devtools” script mistakenly removes files and packages even if Xcode is still running. Be sure to quit any running copy of Xcode before starting the “uninstall-devtools” script.
• The Network Link Conditioner daemon cannot be launched after installing the Networking Link Conditioner without a reboot. You can manually workaround the issue with a restart or by the following command: sudo launchctl load /system/library/launchdaemons/com.apple.networklinkconditioner.plist.]
• In the iOS 5 development tools, it is possible to extract APIs used by an application and have them checked for use of private APIs. This option is offered when you validate your application for app submission.