New Features in Xcode 4.4

Xcode 4.4 adds features to support OS X v10.8 and iOS 5.1 as well as other enhancements to the toolset.

LLVM 4.0 Compiler

Xcode includes an updated LLVM Compiler version 4.0 with the following enhancements.

Objective-C Language Features

  • Literals syntax is supported for NSArray, NSDictionary, and NSNumber objects, using the same ‘@’ operator as for NSString literals.

  • Subscripting is enabled for Objective-C containers, including NSDictionary and NSArray. Use the ‘[ ]’ syntax convention.

  • Objective-C @properties are synthesized by default when not explicitly implemented.

Xcode supports backward deployment of code that uses the literal syntax and object subscripting to OS X v10.7 and later, you must use the OS X v10.8 SDK to make these features available. The default @synthesize feature requires no special SDK or runtime support.

Improved Support for the C++11 Standard

  • Lambda expressions are allowed and permit interoperability with blocks-based APIs in Objective-C++.

  • Generalized initializer lists are supported.

  • Generalized constant expressions (constexpr) are supported.

Improvements to the Static Analyzer

Xcode’s built-in source code analysis tool, launched with the Analyze command in the Product menu, is enhanced for common security mistakes in API and malloc usages.

New Interface Builder Support for AppKit Features

Xcode’s Interface Builder includes support for new AppKit features.

Scene Kit Editor

Xcode 4.4 introduces a viewer and editor for 3D scene files, included in a project as Collada DAE documents, to support use of the Scene Kit API. The Scene Kit editor allows you to preview and fine-tune the 3D scenes, and play embedded animations. You can also inspect 3D scenes for information to use in your source code. The Scene Kit editor is invoked by selecting a DAE file in the project navigator.

Code Completion Enhancements

Code completion now has an integrated form of QuickHelp with a short description of each item in the list based on the documentation or the specific code snippet. Integrated within the code completion window, it is displayed in a section either above or below the code completion list.

Xcode can offer symbols during code completion that haven't yet been included or imported in the current file (the framework was added to the project, but the #import was not included in the file). When possible, Xcode will use umbrella headers for auto import completions and will denote not-yet-linked symbols with a #error indicating which binary needs to be linked. It is a known limitation that auto import completions are available only for symbols that are already visible in at least one file in the current workspace. If necessary, this can be turned off in the Text Editing preferences.

Find and Search Additions

Find and Search have been enhanced with three new capabilities:

Source Editor Jump Bar Enhanced

The source editor jump bar pop-up menu now lists TODO and #pragma mark comments that are inside methods and functions.

Gesture Support Additions for Track Pad Use

Pinch-to-zoom and two-finger-double-tap change the zoom level in the following editors and viewers:

Three-finger-single-tap invokes QuickHelp.

Two-finger-swipe moves back and forth in the Xcode history.

Notification Enhancement

Xcode 4.4 allows the OS X v10.8 systemwide notification system to display build and warning notifications.