Sie sind auf Seite 1von 5

Xcode Release Notes

This document contains release notes for Xcode 4.5 developer preview. It discusses new features and issues present in Xcode 4.5 developer preview and issues resolved from earlier Xcode releases.

About Xcode 4.5 developer preview

Supported Congurations
Xcode 4.5 developer preview requires OS X 10.8 developer preview 4 or OS X 10.7.4. It does not run on earlier versions of OS X. Xcode supports development for iOS 6 beta 1, OS X 10.8, and OS X 10.7.

This preview release of Xcode 4.5 is distributed as a single application bundle, To install Xcode during the preview period, open the downloaded DMG le and drag to your Applications folder. Within Xcode, you can launch additional developer tools, such as Instruments and FileMerge, via the menu item Xcode > Open Developer Tool. You can then keep the tool in your Dock for access when Xcode is not running.

Technical Support and Learning Resources

Apple offers a number of resources where you can get Xcode development support: The Apple Developer website is the best source for up-to-date technical documentation on iOS and OS X. The Xcode home page on the Apple Developer website provides information on the developer tools. The Apple Developer Forums feature a dedicated Developer Forum for Xcode developer previews. Use to communicate issues with Apple. Include detailed information of the issue, including the system and developer tools version information, and any relevant crash logs or console messages.

New Features in Xcode 4.5

Source Editing
Xcode remembers recently used code completion items and gives them a higher priority in code completion popup. (9790948) The source code editor automatically cleans up trailing whitespace at the end of a line. This applies only to edited lines, minimizing unwanted whitespace noise when committing changes. To adjust this behavior, select While Editing > Automatically trim trailing whitespace in the Text Editing preferences. (2535591) Typeover completions automatically add closing parentheses, brackets, and quotes when you type an initial opening character. The closing character is added such that it allows you to type over it; this is helpful when you're typing both the open and close character quickly. Use the Tab key to quickly jump over a type-over completion. (3780948)

Xcode Workspaces and Schemes

File, directory, and group icons in jump bars act as proxies to the item. (7452760) When Xcode auto-creates schemes, it adds new schemes in the order of the projects in the workspace and then in target order within each project. (7996506) New projects can be added to either a workspace or a project. (8032086)

Interface Builder
Storyboards support view controller containment. To install a view controller inside of another view controller's view, add a container view from the library and connect an embed segue to the destination. At runtime, the scene will be installed prior to invoking the -viewDidLoad method on the source view controller. (9630246) Modal segues can be presented without animation. (10384049) Unwind segues can allow transitioning to existing instances of scenes in a storyboard. (9211697) A new method in the UIViewController class, shouldPerformSegueWithIdentifier:sender:, allows conditional triggering of segues. (9447109)

Issues Resolved in Xcode 4.5 developer preview

Property List Editor
The property list editor supports viewing and modifying the root object of a custom property list le. (8635494)

Interface Builder
When mousing over views with the option key held down, layering of the distance measurement indicators has been corrected so that the indicators are not obscured by other adornments, such as the resize handles. (8204499) The -prepareForSegue:sender: method is invoked before the -viewDidLoad method is received on the destination of a popover segue's view controller object. (10535799) Top-level objects for a storyboard view controller object are retained while the view controller object is alive. (10167207)

Issues Outstanding in Xcode 4.5 developer preview

Developer ID
An Internet connection is required to export a Developer ID-signed application from the Archives organizer on Mountain Lion. (11569547) Signing a product that lacks a bundle identier, such as a command line tool, with Developer ID appears to succeed but generates a product with an incorrect code signature. This applies to tools nested in application bundles as well. (11618045) Workaround: Provide an information property list le with a bundle identier and add the following arguments to your linker ags:
-sectcreate __TEXT __info_plist <path/to/info.plist>

For more information, read Adding an Info.plist to Single-File Tools at < e/Procedures/Procedures.html#//apple_ref/doc/uid/TP40005929-CH4-SW6>.

Core Data Modeling

Support for syncing with MobileMe is deprecated. By default, the syncable key is set to YES in the User Info Dictionary for entities and properties, but the syncable key is no longer shown so it cannot be disabled. (10787672) Workaround: To explicitly set syncable to NO for an entity or property, add a key value pair in your User Info Dictionary: 1. Select an entity or property 2. Select the Data Model inspector 3. In the User Info section, add this key-value pair:
key = "" value = "NO"

Xcode First Launch

When Xcode is launched from a read-only volume for the rst time, it can spin if you have previously downloaded iOS simulators. (11613496) ! Workaround: Copy Xcode to a read/write volume before running it.

Unchecking the Use Base Internationalization checkbox in the Project editor removes localized resources from your project. If you select Delete localized resources from disk, your les are moved to the Trash. Otherwise, the les remain in the Base.lproj folder (11603467) Workaround: To add the removed resources back to your project: 1. Either go to the Base.lproj folder within your project or open the Trash 2. Move the resources that were removed from your project into your original localization (.lproj) folder 3. Drag the resources from the original localization folder into the project folder in the Project navigator Converting xib and storyboard documents to use Base internationalization may lead to broken le references (red lenames in the Project navigator). (11616103) Workaround: Remove the broken reference and add it manually as follows : 1. In the Project navigator, select the broken references and delete them 2. Select the missing xib and storyboard documents in the Finder 3. Drag the missing xib and storyboard documents into the project folder After using the base internationalization feature of the project editor, Xcode automatically generates strings les for each of your Interface Builder documents. To resynchronize your strings les with new content from your Interface Builder documents, use ibtool --generate-strings-file to produce new strings les and merge the new strings into your existing localized strings les manually. (11462724)

Switching branches using the Repository organizer while the Version editor is open may cause a crash. (11286188) Workaround: Switch to the Standard editor before switching branches.

The -ObjC ag does not load object les from static libraries that contain categories but no classes. (11617952) Workaround: Use the all_load or force_load ags instead of -ObjC. For more information, read Building Objective-C static libraries with categories at <>

The po, print, and expression commands cannot access enumerators directly. (11485295) ! Workaround: Use the full name of the enumeration; for example, print MyEnum::e1.

Interface Builder
The Interface Builder editor does not show constraints on views focused in the editor or top level views. (11543047) Workaround: The constraints are present and can be selected in the document outline view or the jump bar and edited by selecting the view and using the Size inspector. After opening a storyboard document in the Versions editor, Xcode may display it as an XML document. (10560358) Workaround: To view the storyboard document using the Interface Builder editor, control-click on the document in the Project navigator and choose Open As > Interface Builder iOS Storyboard. Unwind segues do not dismiss popovers. (11578190)

OpenGL ES Tools
The OpenGL ES Frame debugger and OpenGL ES performance analysis may cease to function correctly after restarting a device running iOS 6.0 beta 1. (11617641) ! Workaround: Restore iOS 6 beta 1 on the device to use the OpenGL ES Frame debugger and OpenGL ES performance analysis. To avoid this state, do not reboot the device once it has been enabled for development. The OpenGL ES Frame debugger and OpenGL ES performance analysis can experience a delay when you capture a frame during the rst few seconds of your app's execution. (11511690) ! Workaround: Allow your app to run for a few seconds before capturing a frame.

Copyright 2012 Apple Inc. All rights reserved.