Apple has just seeded iOS 5.1 to developers, a pre-release version of iOS that runs on the iPhone, iPod touch, and iPad. In addition, Apple has released Xcode 4.3 beta to developers, a required version of Xcode for those wishing to develop and test their applications with iOS 5.1 devices. This iOS 5.1 release is crucial. The 5.1 beta brings along an under-the-hood change for alternative interpretations for Dictation input in different apps. We’re looking into this API change.

We’ve also found some references to a new iPad in the code.

iOS SDK 5.1 provides support for developing iOS applications and includes the complete set of Xcode tools, compilers, and frameworks for creating applications for iOS and Mac OS X. These tools include the Xcode IDE and the Instruments analysis tool among many others.

With this software you can develop applications that run on iPhone, iPad, or iPod touch running iOS 5.1. You can also test your applications using the included iOS Simulator, which supports iOS 5.1. There are two Xcode iOS SDK 5.1 images, one for installing on a Macintosh computer running Mac OS X 10.6.7 (Snow Leopard) or later, the other for installing on a Macintosh computer running Mac OS X 10.7 (Lion).

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

Along with the release notes, you can also find some new features we’ve found in iOS 5.1 after the break:

As you can see in the screenshot below, there is a new “geofencing” setting to reportedly stop battery drain in the Reminders app when not in use. Thanks, nimvio!

In the iTunes Match settings there is now a ‘Use Cellular Data’ option to sync iTunes Match music. Thanks, Mo!

Introduction

iOS SDK 5.1 provides support for developing iOS applications and includes the complete set of Xcode tools, compilers, and frameworks for creating applications for iOS and Mac OS X. These tools include the Xcode IDE and the Instruments analysis tool among many others.

With this software you can develop applications that run on iPhone, iPad, or iPod touch running iOS 5.1. You can also test your applications using the included iOS Simulator, which supports iOS 5.1. There are two Xcode iOS SDK 5.1 images, one for installing on a Macintosh computer running Mac OS X 10.6.7 (Snow Leopard) or later, the other for installing on a Macintosh computer running Mac OS X 10.7 (Lion).

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

For more information and additional support resources, visit:

http://developer.apple.com/programs/ios/

Bug Reporting

Please report any bugs not mentioned in the “Introduction” section using the Apple Bug Reporter on the Apple Developer website (http://developer.apple.com/bugreporter/). Additionally, you may discuss these issues and iOS SDK 5 in the Apple Developer Forums: http://devforums.apple.com. You can also access more information about iCloud for Developers at: http://developer.apple.com/icloud

Notes and Known Issues

The following issues relate to using the 5.1 SDK to develop code.

Accounts

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

APIs

  • 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:
    • DNSServiceBrowse
    • DNSServiceRegister
    • DNSServiceResolve
    • DNSServiceRegisterRecord
    • DNSServiceQueryRecord

GameKit

App Icons and Profile Photos are not loading in apps using Game Center.

iCloud Storage

  • 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.

Movie Player

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

Music Player

Using shake-to-shuffle causes Music app to freeze and playback to stop.

Newsstand

FIXED: Deleting an issue that was marked as the currently reading issue could cause a crash.

Security

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.

Xcode/Developer Tools

  • 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.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s