Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

Xcode Release Notes

This document contains release notes for Xcode 4.4 developer preview 1. It discusses new features and issues present in Xcode 4.4 developer preview 1.

About Xcode 4.4 Developer Preview 1


Supported Congurations
Xcode 4.4 developer preview 1 requires OS X 10.8 or OS X 10.7.3 or later. It does not run on earlier versions of OS X. Xcode supports development for iOS 5.0 and OS X 10.8 and 10.7.

Installation
This preview release of Xcode 4.4 is distributed as a single application bundle, Xcode.app. Upon final release in the App Store, this will enable developers to easily download Xcode directly. During the preview period, to install Xcode.app, doubleclick to open the downloaded DMG file, and drag the Xcode.app file 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. Not all of the tools previously included in the Xcode installer are bundled in this preview release. This preview release includes Unix development tools for OS X 10.8 placed in /usr. You can download these tools, now known as the Command Line Tools, from Xcode preferences. Look for the them in the Components tab of the Downloads preferences pane. Note on Installing Previous Xcode Releases from the App Store : When running OS X 10.7.3 if you choose to install the Xcode 4.4 developer preview 1 in your /Applications folder you may later have difficulty downloading earlier versions of Xcode from the App Store. You can work around this by simply renaming your Xcode.app; e.g. to Xcode44DP1.app. Or you can drag Xcode.app to a different location; e.g. to your desktop. Then try downloading from the App Store again.

Technical Support and Learning Resources


Apple offers a number of resources where you can get Xcode development support: http://developer.apple.com: The Apple Developer website is the best source for up-to-date technical documentation on iOS and OS X.

Copyright Apple Inc. 2012 All Rights Reserved.

http://developer.apple.com/xcode: The Xcode home page on the Apple Developer website provides information on the developer tools. http://devforums.apple.com: The Apple Developer Forums feature a dedicated Developer Forum for Xcode developer previews. Use http://bugreport.apple.com 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.4


SceneKit
Xcode now includes an editor for Collada 3D files.

New Interface Builder Support for AppKit Features


Xcodes Interface Builder includes support for new AppKit features like trackpad zoom support and auto-layout.

LLVM 4.0 Compiler Xcode now includes the Apple LLVM Compiler version 4.0, including the following new Objective-C language features: Default @synthesize: automatically synthesizes an @property when unimplemented Objective-C literals: create literals for NSArray, NSDictionary, and NSNumber, just the same as the literals for NSString Objective-C container subscripting: use '[]' syntax to access containers such as NSArray and NSDictionary

Known Issues in Xcode 4.4 developer preview 1


Cryptic Crash Error Targeting OS X 10.8 While Running OS X 10.7
When running OS X 10.7 Xcode still displays 10.8 as a possible deployment target; however, using this setting on 10.7 will cause your compiled app to crash with a cryptic error message about failing to launch. To avoid this, switch your deployment target to 10.7.

OS X 10.7 Trouble Updating Older Xcode.app Installs


On OS X 10.7 attempting to drag a new Xcode.app onto an already installed one may produce errors that the existing install is locked. Rename or drag the existing Xcode.app out of the way before installing this release.

Copyright Apple Inc. 2012 All Rights Reserved.

The Linker and New Load Commands


ld_classic is no longer included. i386 kexts support is now provided by ld. Main executables built for OS X 10.8 or later no longer link with crt1.o. A new LC_MAIN load command specifies the address of main() in the executable. The LC_VERSION_MIN_MACOSX load command now records the SDK linked against as well as the min OS version. If the linker terminates with an assert() it creates a "snap shot" of the .o files which can be used to report the bug. A snap shot can also be forced to be created via the -debug_snapshot linker option. ARC, GCD and Migration GCD and XPC objects support Automated Reference Counting (ARC) in ObjectiveC. Using GCD and XPC with ARC requires a minimum deployment target of OS X 10.8 and is disabled when building with Garbage Collection or for 32-bit Intel. It can be manually disabled by adding OS_OBJECT_USE_OBJC=0 to the "Preprocessor Macros" build setting in Xcode. When compiling with ARC: GCD and XPC objects are automatically retained & released by blocks GCD and XPC objects can be added to Cocoa collections and their lifetime is tracked by the Objective-C static analyzer Calls to dispatch_retain/dispatch_release and xpc_retain/xpc_release must be removed from code compiled with ARC The Xcode ARC migrator does not yet automate the removal of calls to dispatch_retain/dispatch_release and xpc_retain/xpc_release. Retain cycles may be encountered if dispatch_source_t and xpc_connection_t objects are captured by their event handler blocks. These retain cycles can be broken by use of __weak or by calling the dispatch_source_cancel or xpc_connection_cancel APIs respectively. xpc_connection_cancel does not yet break such cycles. DYLD DYLD_* environment variables do not work with code signed apps with entitlements. Xcode uses DYLD_* environment variables to run applications with just-built dylibs and frameworks. Workaround: You will need to build an app without entitlements to debug it with alternate dylibs

Copyright Apple Inc. 2012 All Rights Reserved.

Network Link Conditioner Network Link Conditioner will not be functional in this developer preview. It will be fixed in a subsequent developer preview. Debugging and Security When debugging or running Instruments as a non-admin user, you will be asked to authenticate each time. Deprecation of ATS.framework ATS.framework is being deprecated. Source code using ATS APIs will generate warnings while being compiled. For 10.8, there will be no loss of functionality but there could be areas where performance will suffer. Developers need to replace all their ATS code (including ATSUI) with CoreText. ATS functionality will be removed in future OS X releases: More information about this change is available at: https://developer.apple.com/ library/mac/#documentation/StringsTextFonts/Conceptual/CoreText_Programming/ Introduction/Introduction.html

Copyright Apple Inc. 2012 All Rights Reserved.

You might also like