Supported configurations
Xcode 3.0 will run on Mac OS X 10.5 (Leopard) on a Macintosh with either a PowerPC or an Intel processor. It will not install or run on earlier versions of Mac OS X. Xcode supports development for Mac OS X 10.3 (Panther) and Universal development for Mac OS X 10.4 (Tiger) and Mac OS X 10.5 (Leopard) using the Mac OS X SDK support.
Xcode Installation
The Xcode Developer Tools will install by default into /Developer
, but you may choose to install Xcode 3.0 anywhere on the system, including on partitions other than the boot volume. When changing the installation location, you must create a folder for the tools with the "New Folder" button in the location chooser. You can also move or rename the entire developer directory after installing. The developer directory’s subdirectories, applications, and other content must not be moved or renamed, and you must quit all developer applications before moving or renaming the developer directory.
It is now possible to have multiple versions of Xcode tools installed on the same system but running independently. The Xcode IDE will use the SDKs, build tools, and auxiliary applications from the developer directory it is launched from whenever possible, rather than those from the root system.
The Xcode Developer Tools installer also installs the standard system development tools and interfaces into /usr
, so conventional makefile- and config-based builds will operate correctly. There is no way to switch among versions of most these tools; the last installed version replaces all other versions. A few of these tools, including /usr/bin/xcodebuild
, can switch among versions; see thexcode-select
manpage for more information. Installation of these tools can be disabled by turning off the UNIX Development Support choice in the installer.
If the UNIX Development Support is not installed, all projects must build against an SDK, and conventional makefile-based builds should execute the standard development tools from the developer directory’s usr/bin
directory instead of the root system’s /usr/bin
. This can be done by adding the full path to that directory to the PATH
environment variable and making sure that your build scripts and makefiles do not have absolute references to tools such as /usr/bin/gcc
, instead always using the shell’s path mechanism to launch the tools. Alternatively, tools can be invoked using a path returned by xcode-select -print-path
; see the xcode-select
manpage for more information.
Support for building for Mac OS X 10.3.9 is disabled by default. To enable this support, click Custom Install and check on the "Mac OS X 10.3.9 Support" in the Installer.
Launching Xcode IDE
Xcode version 3.0 takes advantage of two major architectural features of Leopard: 64-bit support and Garbage Collection. The Xcode IDE runs under garbage collection on all machines, and on 64-bit capable hardware, can be launched in 64-bit mode. To run Xcode in 64-bit mode on a 64-bit machine, use the Finder’s Get Info command and uncheck the “Open in 32-Bit Mode” checkbox.
The xcodebuild
tool never runs with garbage collection. It can be run in 64-bit mode on 64-bit hardware with the command arch -ppc64 xcodebuild
or arch -x86_64 xcodebuild
. Tools invoked by the Xcode and xcodebuild
are generally run as 32-bit regardless of how the IDE or tool is invoked, with the exception of the ld
linker, which always runs as 64-bit on 64-bit hardware.
Project File Format Compatibility
Xcode 3.0 reads and builds project files written by Xcode 2.1 through 2.5, and will automatically upgrade project files from Xcode 1.5 through 2.0. Xcode 3.0 does not reliably read project files from Xcode 1.2 or earlier, or Project Builder project files; upgrade these with Xcode 2.5 before installing Xcode 3.0.
It is strongly recommended that when converting pre-Xcode 2.1 project files to Xcode 2.2 and later you also upgrade all the project’s targets to Native Targets using the item in the Project menu. Many Xcode features, including support for building Universal Binaries, are not supported for non-native (“Jam-based”) targets.
As of Xcode 3.0, you can set the compatibility requirements of your project in the project’s Get Info inspector’s Project Format popup (in the General tab). When your project is using features which are not compatible with the chosen format, Xcode will display a red conflict indicator in the project’s Get Info inspector’s General tab and in the project’s status bar. To resolve these conflicts, either change the compatibility requirements of your project or use the inspector’s “Show Conflicts” button to find the incompatible features and manually remove them from the project.
Project Root
Xcode 3.0 has a concept of a project root, the top-level file system directory that encompasses all your project's items (and may be at a higher level than the project file's folder, commonly known as $(SRCROOT)
). This location is used as the base for many Xcode features such as SCM and project-wide Find and Replace, as well as new Xcode 3.0 features like Refactoring and Snapshots. Xcode tries to determine automatically the correct top-level directory; you can set it yourself in the Project inspector’s General tab if its guess is incorrect. You can set the Project Root for each project, in the General tab of the Get Info window for the project.
Major menu reorganization
The main menu bar of Xcode has been substantially reorganized. New menu items have been added to support new Xcode 3.0 features; a small number of rarely-used or deprecated features have been removed; and a large number of items have moved in order to shorten and simplify the top-level menus.
Important: Many items are now alternates to other items that share the same command key. Hold down the Option, Control, and Shift keys to see all the items in the File, Edit, and View menus.
The Help ▶ Search menu item can help you find a menu item that’s been moved to a submenu.
File menu: Add snapshot support. Add Recent Files. Collapse multiple Open, Close, and Save items. Integrate Open Dictionary and Import Project into Open item. Move Group commands to Project menu. Merge Page Setup into Print. Move Make Global/Make Localizable to inspector. Move Rename to direct editing of item.
Edit menu: Add Format submenu. Add Find submenu. Add Add Bookmarks and Go to Line items from Find menu.
View menu: Add Code Folding, Message Bubbles submenus. Add Text submenu with formerFormat menu items. Add Syntax Coloring submenu from former Format menu. Add Layout submenu. Remove Clear File History Next/Previous Detail, Next/Previous Page. Move Open in Separate Editor to File menu. Merge Reveal in Class Browser into Class Browser item.
Format menu: Remove and distribute items to Edit and View menus
Find menu: Move to Edit menu or context menus in individual views
Project menu: Add Group commands from File menu. Remove Upgrade to Native Target item.
Build menu: Remove Enable Zero Link (feature removed). Extensive changes for new Streamlined Debugging feature, below.
Debug menu: Change to Run. Extensive changes for new Streamlined Debugging feature, below.
SCM menu: Extensive changes for new Repository management, see below.
Help menu: Merge individual release notes into Xcode News.
Templates
The location for Xcode templates, scripts, and other support files has changed. These files were previously located in /Library/Application Support/Apple/Developer Tools/
and/Library/Application Support/Xcode/
. They are now located in the developer directory’s Library/Xcode/
folder. Additionally, your own custom support files should now be placed in a folder of the appropriate name (e.g. "Project Templates
") in any of the following locations:
/Library/Application Support/Developer/3.0/Xcode/
/Library/Application Support/Developer/Shared/Xcode/
~/Library/Application Support/Developer/3.0/Xcode/
~/Library/Application Support/Developer/Shared/Xcode/