Xcode 3.1 is a major revision to the Xcode IDE. The main goal of this release is to support iOS application development. However, this release also includes new features to enhance your workflow.
This article describes the new features and improved functionality in Xcode 3.1.
Using Xcode 3.1 and the iPhone SDK you can develop applications for iOS. The iPhone SDK includes iOS frameworks and developer tools with which you can build iOS applications. It also includes iPhone Simulator, an environment that allows you to run iOS applications on your Mac to perform initial testing. You can also run your application on actual devices, after becoming a member of the iPhone Dev Center.
For more information about iOS development, see iOS Development Guide.
Xcode 3.1 introduces the 3.1 project-package format.
Xcode 3.1 reads and builds project packages v2.1–3.0 and automatically upgrades project packages v1.5–2.0 to v3.1.
In general, project packages v3.1 can be opened and built in Xcode 3.0 and 2.5. Xcode tells you when a project package uses a feature it doesn’t support.
Xcode 3.1 introduces two toolbar items:
Active SDK. Lets you specify the SDK to use to build the active target. You can choose between iPhone OS SDKs and Mac OS X SDKs.
Overview. Groups the “active” project settings into one, easily accessible control. With this toolbar item you can set a project’s active target, SDK, build configuration, architecture and executable.
See "Setting Build Factors" in Xcode Project Management Guide for more information.
In Xcode 3.1 the text editor gains two new features:
Edit All in Scope. The Edit All in Scope command allows you to edit several symbolname occurrences at the same time in a more convenient way than using Find & Replace. For example, you can change the name of a method argument, and Xcode replicates the change within the method’s body at the same time. See "Editing Symbol Names" in Xcode Workspace Guide for details.
Symbol assist menu. The symbol assist menu is an automatic shortcut menu that appears when you select a symbolname in a source code file. This menu allows you to perform one of several symbol-related commands on the selected symbols, including Edit All in Scope and Jump to Definition.
Note: The symbol assist menu appears only when Edit All in Scope is active. See "Code Sense Preferences" in Xcode Workspace Guide for details.
The user interface of the Property List Editor application has been revamped to make it easier to edit property list files. Among the improvements are:
Reorder/move elements
Cut/Copy/Paste element
Property list types
You can create files based on particular property-list schemas (such as the iPhone Settings schema used in iOS applications)
Xcode now provides property list editor that uses the same user interface the Property List Editor application uses.
Xcode 3.1 provides a new, straightforward way for adding frameworks and libraries to a target. See "Managing Files and Folders in a Project" in Xcode Project Management Guide for details.
The Xcode 3.1 build system received several improvements:
Conditional build settings
In Xcode 3.0 you can define build setting specifications for particular architectures and build variants. Xcode 3.1 adds another condition: The SDK to use to build the active target.
See "Conditional Build Settings" in Xcode Build System Guide for details.
Support for weak/required frameworks (new)
Similar to symbol weak-linking, framework weak-linking allows you to build a product that is able to use a framework that may not be present at runtime. See "Managing Libraries and Frameworks" in Xcode Project Management Guide for details.
Compiler Version build setting group (new)
The C/C++ Compiler Version build setting is more visible in the settings editor; it’s now in the Compiler Version build setting group.
New xcodebuild
options
The xcodebuild tool supports these new options:
-sdk <sdk_name>
Specifies the SDK to use.
-fine <tool_name>
Provides the filepath to tool_name
.
For details, see the man page for xcodebuild
.
Strings files output encoding option (new)
The new STRINGS_FILE_OUTPUT_ENCODING
build setting lets you specify the output encoding of strings files.
Xcode 3.1 updates the New Project and New Target assistants with new project and target types. For details, see "Creating Projects" and "Creating Targets" in Xcode Build System Guide.
Xcode 3.1 simplifies the Open Quickly dialog and makes it more effective. See "Opening Files by Filename or Symbolname" in Xcode Workspace Guide for details.
Xcode 3.1 improves the FileMerge application by:
Performing faster comparisons
Handling files with different line encodings properly
Ignoring whitespace on lines
In Xcode 3.1 you can use drag-and-drop to import and check-out directories. And, when you check out a project directory, Xcode configures SCM in the project packages the directory contains so that you can perform SCM operations without having to configure SCM first (as in previous Xcode releases). For details, see "Browsing and Modifying Repositories" in Xcode Source Management Guide.
Xcode 3.1 adds support for GCC 4.2 and LLVM-GCC 4.2 (see LLVM-GCC Release Notes).
To improve the security of Xcode caches, Xcode 3.1 places them in a more secure location. If you don’t use earlier versions of Xcode, you should delete /Library/Caches/com.apple.Xcode
and /Library/Caches/Xcode
.
In Xcode 3.1 you can also delete Xcode caches using the Empty Caches command. For more information, see "Xcode Persistent Cache" in Xcode Project Management Guide.
Last updated: 2010-07-02