Important: This legacy document includes the full history of “What’s New in Xcode” revisions for Xcode 4, from Xcode 4.1 to Xcode 4.6.3.
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
NSNumberobjects, using the same ‘
@’ operator as for
Subscripting is enabled for Objective-C containers, including
NSArray. Use the ‘
[ ]’ syntax convention.
@propertiesare 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.
The static analyzer engine can find complicated bugs that span function boundaries using interprocedural analysis.
More exhaustive memory checks are made to
malloc-related memory management and the detection of insecure API uses.
New Interface Builder Support for AppKit Features
Xcode’s Interface Builder includes support for new AppKit features.
Improved trackpad API
Auto Layout improvements
CoreUI-based UI customization
The addition of Page Control View
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:
The Find Bar and Search Navigator have added support for find patterns as a simpler alternative to regular expressions. In the search field, click the magnifying glass icon and select Insert Pattern.
The Find Navigator now supports searching for references to indexed symbols. Choose Symbolic from the Find Navigator's Style pop-up menu. This form of search performs significantly faster than textual searches and excludes results from comments and nonsource files.
Xcode can show the callers and callees of the current function or method. This function is accessed from the Show Related Items menu, or by using the Assistant editor and selecting Callers or Callees in the jump bar pop-up menu.
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:
User Interface editor
Core Data Model editor
OpenGL ES viewers
Instruments track view
Three-finger-single-tap invokes QuickHelp.
Two-finger-swipe moves back and forth in the Xcode history.
Xcode 4.4 allows the OS X v10.8 systemwide notification system to display build and warning notifications.