iOS 4.2 GM released for all devices – Download here (along with iTunes 10.1 beta 2)

Apple has released iOS 4.2 GM for all devices today (as well as Xcode 3.2.5 & iOS SDK 4.2 GM). As usual, we’ll be downloading and uploading them accordingly, starting with the iPad and working our way down. iOS 4.2 will require iTunes 10.1, so the links for beta 1 (Mac OS X and Windows (both 64-bit and 32-bit)) are also here. Download links and release notes are after the break!

Release Notes

Here are the official release notes for the iOS 4.2 GM seed.

iOS SDK Release Notes for iOS 4.2

Important: This is a preliminary document for an API or technology in development. Although this document has been reviewed for technical accuracy, it is not final. Apple is supplying this information to help you plan for the adoption of the technologies and programming interfaces described herein. This information is subject to change, and software implemented according to this document should be tested with final operating system software and final documentation. Newer versions of this document may be provided with future seeds of the API or technology.

Introduction

iOS SDK 4.2 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 4.2. You can also test your applications using the included iOS Simulator, which supports iOS 4.2. Installing iOS SDK 4.2 requires a Macintosh computer running Mac OS X 10.6.4 (Snow Leopard) or later.

For more information and additional support resources, visit:

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

Bug Reporting

Please report any bugs not mentioned in the “Notes and Known Issues” section using the Apple Bug Reporter on the Apple Developer website at: http://developer.apple.com/bugreporter/. Additionally, you may discuss these issues and iOS SDK 4.2 in the Apple Developer Forums:http://devforums.apple.com.

Notes and Known Issues

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

Xcode

  • There is a new Base SDK setting called “Latest SDK”. This is the recommended choice for all projects and will cause your project to always build against the newest available iOS SDK.
  • The Overview popup menu will display “Base SDK Missing” if a project was created with an SDK earlier than iOS SDK 4.2. However, after selecting a new SDK that Overview popup may still display “Base SDK Missing”.To work around the issue, close and reopen the project window.

Audio

  • The iPad screen rotation lock switch now functions as a sound/silent switch in iOS 4.2. This switch behaves the same way as the Ring/Silent switch on iPhone.Applications targeted for iPad will need to take this into account when implementing audio behaviors.
    For more information on audio behavior guidelines and how to implement them, see “User Experience Guidelines” in iPhone Human Interface Guidelines and the Audio Session Programming Guide.

Calendar

  • Calendar can now import .ics files directly as a way to add events. If your app has access to .ics files, you should test importing them using the UIDocumentInteractionController API.

GameKit

  • Applications can use the GKFriendRequestComposeViewController class to initiate friend requests.
  • The GameKit view controllers for leaderboards, achievements, matchmaking, and friend requests must be presented modally. Presenting them any other way will result in an exception and unexpected behavior. This affects GKLeaderboardViewController,GKAchievementViewController, GKMatchmakerViewController and GKFriendRequestComposeViewController.
  • In iOS 4.2, the local player is automatically authenticated again when an app enters the foreground. This will generate an authentication changed notification. If the app is linked with iOS 4.2 or later, the authentication completion handler will also be called (it is retained indefinitely).

GDB

  • During debugging, pausing or resuming an iOS application while it is backgrounded is currently unsupported and can result in undefined application behaviour.

MapKit

  • For applications built against iOS 4.2 and later, MapKit will now conditionally display annotation views based on the currently visible region of the map. To account for this, developers should make sure they reuse annotation views as documented and never assume that the absence of an annotation view implies the absence of a corresponding annotation

Printing

  • iOS 4.2 devices can print wirelessly only to printers that support AirPrint and are running the latest available firmware. Some currently available printers that support AirPrint are:
    • HP Photosmart Premium Fax e-All-in-One Printer – C410
    • HP Photosmart Premium e-All-in-One Printer series – C310
    • HP Photosmart Plus e-All-in-One Printer series – B210
    • HP ENVY 100 e-All-in-One Printer Series – D410
    • HP Photosmart eStation Printer series – C510

Simulator

  • Building an app that weak links CoreVideo.framework against the 4.2 Simulator SDK and then running that application against the 3.2 Simulator will result in a crash. The same configuration will work when building against the 4.2 device SDK and running on a 3.2 device.

Weak Linking

  • The following frameworks currently do not support weak linking by way of the NS_CLASS_AVAILABLE macro:
    • AV Foundation
    • Core Animation
    • Core Telephony
    • MobileLaunchServices
  • When targeting older versions of iOS, you can check the class availability in these frameworks by calling the NSClassFromString function and seeing if it returns a non-nil value. For information about using the NS_CLASS_AVAILABLE macro, see “iOS 4.2” in What’s New in iOS.

FAQ

A lot of people will ask simple questions that have simple answer. We’ve put some of the more common ones in a little FAQ.

What’s a GM?

If you don’t know what GM is, it stands for “Gold Master”, a term that means that the particular software version is either final, or close to final. Due to past experiences with Apple firmwares, the GM ends up being the final release version.

Do I need a developer account for this?

NO, you DON’T need a dev account for this.

Do I need Windows or Mac OS X?

Either one, it doesn’t matter.

Do I need iTunes 10.1 beta?

It looks like iOS 4.2 will require iTunes 10.1. Links are posted below.

What if I’m jailbroken/unlocked?

Stay away from this.

Donations?

Sure. Our PayPal is [email protected]

Download Links

Here you go. Regarding iTunes 10.1: When you install it, the installer/readme will say 10.0.1 (or something like that), but it’s actually installing 10.1. Don’t worry.