|
|
Log In | Not a Member? |
Contact ADC |
The About Xcode Tools document discusses Xcode and its role in development on Mac OS X.
General
Summary of New Features
Known Issues and Workarounds
Troubleshooting Distributed Network Builds
Additional Documentation and Help
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 the xcode-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/
Please see What's New in Xcode for a complete guide to these new features:
Objective-C 2.0
Objective-C has been enhanced with support for properties, fast enumeration, optional methods in protocols, and garbage collection.
Interface Builder
A completely new Interface Builder is included in Leopard. See the Interface Builder documentation for complete details.
Refactoring
Xcode now gives you the ability to refactor Objective-C code and nib files. A global refactoring, Convert to Objective-C 2.0, changes manual iterations to new Objective-C 2.0 syntax. Individual refactorings are currently available for:
Rename
Create Superclass of
Move Up
Move Down
Encapsulate
Extract Method
Modernize for Loop
Move Implementation to Subclass
Refactoring allows you to accept or reject offered refactorings on a file-by-file basis.
Organizer
The Xcode Organizer is available in the Windows menu. This is a convenient place to drop project files, non-project text files, or entire folders of frequently-accessed information for quick reference and navigation.
Folders in the Organizer represent the contents of directories in the file system. You can move, rename, and delete files and directories using the Organizer. The Action (gear) button at the bottom of the Organizer window allows you to add new files or directories into the selected directory in the Organizer. When creating a new file or folder, you can optionally choose a template to base the new item on; Xcode will make a copy of the template in the designated place on disk and add it to the Organizer.
You can edit documents in the Workspace’s embedded editor or double-click them to open them in a separate window. When a directory is selected in the Organizer, the Edit ▶ Find ▶ Find in Project menu item changes to Find in Folder, and allows you to do deep searches within that folder.
The Build, Clean, Run, and Action tools allow you to attach arbitrary shell commands, shell scripts, AppleScript files, or Automator workflows to Organizer folders and invoke them from the toolbar or main menu. Actions attached to a folder are also available to all enclosed folder; with this, you can define one operation on a directory and invoke it on any deeply-nested file in that directory. Build commands are executed in the Build Results window; Run and Debug commands are executed in the graphical Debug or Console windows.
If you want to share action tools with others, you can define them in an .xccommands file in your project directory before adding that directory to the Organizer. The scripts attached to an Organizer item can be exported to an .xccommands file with the Export Actions... menu item in the Gear button at the bottom of the Organizer window.
Snapshots
You can take a “snapshot” of project state at any time (such as after a successful build or before refactoring). If you later decide to discard all changes, you can restore your files to the contents of a snapshot. Edit ▶ Make Snapshot Now makes a full copy of your project; if you later make changes you don't want to keep, you can use Edit ▶ Snapshots... to choose a snapshot, examine how it differs from your current project, and restore your project or individual files from it to the state as of that snapshot.
Directories in the Organizer can also be snapshotted.
Snapshots are stored in a sparse .dmg file in your user directory; you can protect this with a password if you choose for added security (using DiskUtility). The snapshots are stored in ~/Library/Application Support/Developer/Shared/SnapshotRepository.sparseimage and mounted in your /tmp directory.
Xcode Source Editor
The new source code editor in Xcode 3.0 edits large files up to 5 times faster than Xcode 2.5 and opens very large files almost instantly, instead of in tens of seconds. Syntax-aware indentation now works better than it did in Xcode 2.5 and earlier, handling many cases (such as multiline comments) that were handled poorly before.
Syntax Coloring, Code Focus, Code Folding, and Code Sense Completion work with dozens of text file types supported by Xcode: C, C++, Objective-C, Objective-C++, Rez, Property Lists, XML, HTML, Perl, Python, Ruby, Fortran, and others.
There are some special considerations for certain languages. For example, the Python languages considers tab characters to be semantically significant, and assumes that a tab character equals eight spaces. For Code Folding and indentation to work correctly for Python, set View ▶ Text ▶ Tab Settings to 8 characters. It may also help to disable the Editor Uses Tabs setting in Xcode Preferences ▶ Indentation.
Code Focus
Code Focus shows you the block structure of your code on demand. A new Focus Ribbon shows the nesting depth of every line of code; moving the mouse pointer into the ribbon highlights the blocks of your text by nesting depth, without changing your selection. This is great for checking for misbalanced parentheses, unbroken switch statements, etc.
The Code Focus feature can also be latched on with the Code Focus menu item in the View menu, or using the Command-Control-Option-F keyboard shortcut.
The Focus Ribbon also contains controls for Code Folding. You can collapse brace structures, C-style comments, and other nested structures in C-like languages, XML, and plists. You can also invoke folding and unfolding from the View or contextual menus, or by the shortcut keys listed in those menus.
Code Sense Inline Completion
Code Sense code completion is now done inline, as in Mail, Terminal, and other applications. You can confirm completions with the Tab key (not F5 any longer) and invoke the traditional completion pop-up menu with the Escape key.
CodeSense now completes build setting values in .xcconfig files and file paths and names in #include statements.
Syntax Coloring
Syntax coloring now supports separate colors for different kinds of symbols: classes, types, constants, functions, and variables, as well as macros and comments. Xcode ▶ Preferences ▶ Fonts and Colors allows you to control the individual colors, and define, load, and save preferred color themes. Both uncolored and syntax-colored text are placed on the Pasteboard for copy and text drag operations.
Message Bubbles
Errors, Warnings, and Breakpoints are now shown inline in source text, not just as icons in the gutter. Show them with the View ▶ Message Bubbles menu or the context menu in the text editor. Multiple messages are consolidated into single bubbles; bubbles can be shown or hidden by clicking on the error or warning icon in the gutter, or by using the context menu on the icon in the gutter.
Class Navigator
The Navigator Bar now contains a Class Navigator next to the Bookmarks popup. This allows you to move quickly in the class hierarchy to the superclass or subclasses of classes defined in the current file.
Open Quickly improvements
Open Quickly now accepts the same line number format as Go to Line; follow the filename with a colon and a line number or colon-separated range to go directly to a line in a file. You can also navigate directly to the implementation or declaration of a symbol by entering the symbol into the Open Quickly box, or just by selecting the symbol and pressing Command-Shift-D.
Command-line tool to open a file in the Editor
A command line tool allows you to open existing files, create new untitled or named files, and pipe text from standard input into Xcode's editor. You can use this as your EDITOR shell variable for command-line operations on text. The command is installed at /usr/bin/xed; the documentation can be found with man xed.
Streamlined Debugging
In Xcode 3.0 the distinction between Run and Debug has been blurred. You can opt to launch your application under the debugger (Debug) or not (Run), but you do not need to stop and restart your application.
There is no more Standard I/O Log or Run Log, there is only the Console. Stdin to your app is now sent via the Console log while executing and to the debugger when paused. The Console window now has a toolbar like the old Run window formerly did. To make this available in existing projects, remove the <user>.mode*V3 file from the project wrapper. The debugger prompt and text colors set in the Debugger preferences are visual indicators for where the input is going.
Datatips are structured, hierarchical tool tips that show the value of variables in scope during debugging, right in your text file. You can even descend into objects or structures and perform actions, such as printing the object to the console.
The Xcode debugger now shows you the contents of C, CoreFoundation, and AppKit array types, as well as STL vectors. The first 10 array elements are shown by default, and controls allow you to see the next and last 10.
A Mini Debugger allows you to pause and step through your application while it is in front, without activating Xcode.
Debugging with Go The Debug menu has been re-organized with new launch options: Run, Debug, and Go. Corresponding changes have been made to the Build menu. Run and Debug launch the executable without and with breakpoints enabled, respectively; Go launches the executable with the breakpoint status unchanged from your last session. If you Run but then Activate Breakpoints to debug a problem, Xcode automatically launches the debugger and attaches it to the running application so you don’t have to restart your session. If you launch using a performance tool like Shark, you can use Go (or Build and Go) to launch with Shark again.
For convenience, the command-key equivalents for Go are variants on the Return key.
Project Find
The Project Find module has been rewritten to search projects and directories considerably faster. For text searches in UTF-8 files, the speed is now comparable to grep. Project Find can now search in cross-project references as well as the current project alone: select a current Find Set (like “Project” or “Project and Frameworks”), click the Options button, and click the “Project and referenced projects” radio button. Project Find now supports “Find in source and headers” with a new checkbox in the Options panel, and a new search style “Symbols” that searches for uses of symbols (call sites), rather than just definitions or plain text. Regular Expression searches now find multiple matches on the same line.
Classes, connections, and bindings in nib files are now indexed and can be found in the Project Symbols smartgroup, Go to Definition (command-double-click), and Find in Project's Definitions or Symbols search.
Xcode's Spotlight importers for source code now index only the identifiers in your source, not the full text, making it easier to find appropriate code files with Spotlight. It also indexes the target, configuration, and product names from project files, so you can find what project builds a specific target or executable using Spotlight.
Documentation Viewing
The documentation viewer has been completely revamped. It manages Documentation Sets (downloadable and installable separately, with update notifications broadcast via subscriptions and RSS) and does full-text, API, and Document Title searches within a documentation set or across documentation sets. The API search now does “contains” matches rather than “starts with” by default. The Documentation Viewer supports the same Class Navigator popup as in the Source Editor.
Research Assistant Choosing Help ▶ Research Assistant opens a new floating window shows the declaration, abstract, and usage notes about system APIs, macros, and build settings. It covers both Apple frameworks and standard Unix C APIs, and has detailed information on API deprecation and 64-bit availability of functions and methods. Open the Research Assistant and as you select terms, the window shows useful information about the selection.
SCM Repository Management
You can now manage SCM repositories (Perforce, Subversion, and cvs) from within Xcode. The current feature set allows you to configure your repository access, manage repository authentication, browse the repository, check out a revision, and import a new project into the repository.
New Build Properties inspector tab
The Build tab of project and target inspectors has been redesigned and supports several new features. You can define per-architecture variants of most compiler-related build settings by using the Action (gear) menu in the inspector. Build settings and values can be sorted, as well as collapsed and filtered in the new outline view. Most values can be edited in the cell using the standard “click-and-a-half” editing technique.
Build System Improvements
There have been few changes in the Build System so your Xcode 2.4.x projects should build the same as they did on Tiger (excepting, of course, the change from Tiger APIs to Leopard). Most of the changes in building are to support building Objective C 2.0 and 64-bit.
New Architectures sheet for 32- and 64-bit building
The “PowerPC / Intel” Architectures checkboxes have been replaced with “32-bit / 64-bit” checkboxes. Both settings are explicitly Universal. If you want an Architectures setting that is different from the ones provided by the checkboxes, select the Architectures line and press Tab to enter the Value column of the Architectures setting to edit your architecture list manually.
The checkboxes transform hardcoded architecture settings (e.g. ppc or i386) into sets of hardcoded values (e.g. ppc64 x86_64). If the Architectures build setting contains $(NATIVE_ARCH), the checkboxes transform it into a build setting that is useful for debug builds:
$(NATIVE_ARCH_32_BIT) The 32-bit version of the build machine’s architecture. This is useful for non-64-bit-aware code.
$(NATIVE_ARCH_64_BIT) The 64-bit version of the build machine’s architecture. This is useful for 64-bit-only code.
$(NATIVE_ARCH_ACTUAL) The actual build machine’s architecture. This is useful for building “best thin for this machine.”
Per-Architecture Build Settings
The new Build Settings editor (available for both targets and projects) supports per-architecture entries for build settings that affect compilation and code generation. By selecting a build setting and choosing "Add Per-Architecture Setting" from the Action (gear) popup, you can specify different values for a setting for each architecture. If you don't specify a per-architecture setting for a given architecture, the "base" value of that build setting is used.
You can now specify per-architecture build settings in .xcconfig files. The syntax to define an architecture-specific setting is:
SETTING_NAME[arch=arch_name] = some_value
where arch_name is a valid architecture name as you would enter in the ARCHS build setting
New and Removed Build Settings
There are new predefined build settings that provide the major and minor versions of Xcode and Mac OS X at build time. These are in a format compatible with the Availability Macros so they can be passed down to your sources in Preprocessor Macros if desired. See the Build Settings Release Notes for details.
The Objective-C Garbage Collection setting enables compiling and linking Objective-C code for automatic garbage collection. It has three states: Unsupported disables garbage collection; Required (-fobjc-gc-only) will create an executable that runs only on Mac OS X 10.5 and later and will always run garbage collected; and Supported (-fobjc-gc) will create an executable that can run either garbage collected or not, depending on how the user chooses to launch it or, in the case of libraries and frameworks, whether the invoking application is using garbage collection.
The Enable Supplemental SSE3 Instructions build setting now sets the -mssse3 flag in gcc 4.0.
The Treat Missing Function Prototypes as Errors build setting now sets the -Werror-implicit-function-declaration flag in gcc 4.0 for C and Objective-C only.
The Order File build setting now sets the -order_file parameter of the linker. Its value should be a path to a file relative to the project folder; that file should contain the newline-separated mangled names of functions in the linked executable, in order of call frequency. Order files help increase locality of reference and reduce swapping.
In Xcode 3.0, the Zero Link build setting is ignored and has no effect. It still appears in the user interface and is preserved for backwards compatibility with Xcode 2.5 and earlier, but all executables are always fully linked in Xcode 3.0.
In Xcode 3.0, the Essential Symbols feature for STABS-based debugging has been removed, and its build setting is ignored.
Composite SDKs
You can now specify multiple SDKs; for example, a system SDK, a QuickTime SDK, and the SDK for a third-party library or framework. To do this, set the Base SDK Path build setting to a system SDK and set the Additional SDKs build setting to the list of additional SDKs to composite. At build time Xcode will create a composite SDK and cache it in a common location; all projects that use that combination will share the one composite SDKs. This allows you, for example, to use libraries provided by third parties when building against a system SDK.
Parallel Target Builds
A checkbox in the Project Inspector allows all aggregate targets in the project to build their dependent targets in parallel when possible. This means that you can build a short command-line tool while preprocessing your header files for your main application. This is especially useful on multiprocessor machines and while using Distributed Network Builds or distcc.
Note: Using parallel target builds may reveal implicit dependencies that have been masked by the serial building of targets. Turning on parallel target builds may result in intermittent and hard-to-reproduce build failures due to one target needing the output of another that has not yet been built. Inspect your project carefully and ensure that each target has its Direct Dependents set correctly before enabling Parallel Target builds.
Two- and Three-Way Unit Tests with Garbage Collection
Unit Tests now run as many architectures as possible on the build machine. Unit tests on Intel will attempt to run the 32-bit PowerPC unit tests in Rosetta, and tests on 64-bit machines will run both 64-bit and 32-bit architectures. Unit Tests can now be run on garbage-collected Objective-C code.
Run Script Build Phase
You can check a check box in the Run Script build phase to suppress the output of environment variables in the build log.
Xcode News
If you launch Xcode with no projects, documents, or other windows open, the Xcode News window will appear, showing a selection of the Apple Developer Connection website with news and information for Apple developers. You can reopen this window at any time using the Xcode News item in the Help menu; a checkbox on the window prevents its opening automatically at launch for that release of Xcode.
CoreData Mapping Model and Model Versioning
There is a new Design Model available in the Design menu to create Core Data mapping models. In addition, data models are now versioned, so you can change your data models and retain compatibility with older data files.
Here are some commonly-reported issues that are known with this release of Xcode.
Creating a project in /tmp may prevent certain project template variables to not expand properly
Changing the Configuration popup in the Build Settings inspector may not update the Based On popup. Close and reopen the inspector to see the correct value.
After changing from Textual to Definitions and back to Textual, Project Find may not find all valid matches in a project.
The Build toolbar item is occasionally disabled when the project is buildable. Use the Build menu item instead.
Much of the functionality new in Xcode 3.0 does not have AppleScript support.
Circular #includes of header files or a cycle of symbolic links may cause Xcode to crash while building or indexing a project.
Opening the same project file simultaneously from two separate instances of Xcode may cause one to crash.
Projects that generate source files at build time must turn off Lazy Symbol Loading in order to stop at breakpoints in those files.
Strings containing Unicode characters do not display properly in the Debugger.
Deleting a header file from a project may not force a rebuild of source files that include it.
You cannot recover a deleted project from a snapshot of it using Xcode. Navigate directly to the Snapshot repository and duplicate the most recent snapshot.
Custom Build Rules no longer output the value of all environment variables in the build log, and there is no way to make them do so. IF you need to do this in order to debug a build rule, add a “set” command to the rule script.
As in previous versions of Xcode, for some Preferences (especially Distributed Builds) you may need to close the Preferences panel and reopen it in order to see the new value of the settings in the Preferences pane.
You cannot distribute builds using Shared Network Builds if Xcode 3.0 is installed in a location other than /Developer.
Sharing your computer for distributed builds and changing the share priority for build tasks on your machine require administrator privileges. If you are unable to unlock sharing in the Xcode 3.0 Distributed Builds Preferences pane, ensure that you have a valid administrator user name and password. If you are still unable to authorize sharing, you will need to re-install the Developer Tools.
Sharing your computer for distributed builds also requires that your machine be able to reach the remote build host(s) over the network. If remote hosts are unable to access your machine for distributed builds, first ping the remote machines to ensure that your machine can reach them over your network. For network problems, contact your system administrator.
Sharing for distcc
If the checkbox "Share my computer for shared workgroup builds (distcc)" in the Xcode 3.0 Distributed Builds Preferences is enabled, and you can ping the remote build host(s) in your workgroup, check the configuration of your machine.
The executable /usr/bin/distccd must be installed, owned by root:wheel, with permissions -rwxr-xr-x
The file /System/Library/LaunchDaemons/distccd.plist must be installed, owned by root:wheel, with permissions -rw-r--r--
If any of these conditions is not true, you should reinstall the Developer Tools.
If your system appears to be configured correctly, you should be able to start the shared workgroup builds daemon by typing the following command into a Terminal window:
sudo launchctl load -w /System/Library/LaunchDaemons/distccd.plist |
Turning off sharing for distcc
If the checkbox "Share my computer for shared workgroup builds (distcc)" in the Xcode 3.0 Distributed Builds Preferences is disabled but Activity Monitor shows one or more distccd processes running on your machine, you should be able to stop all the distccd processes at once by typing the following command into a Terminal window:
sudo launchctl unload -w /System/Library/LaunchDaemons/distccd.plist |
Note that the "kill" command will stop but not disable the daemon, and launchd will immediately relaunch it.
If you encounter an error when attempting to enable or disable the checkbox "Share my computer for shared workgroup builds (distcc)" in the Xcode 3.0 Distributed Builds Preferences, follow the steps above for sharing or stopping sharing of distcc.
Changing the share priority for shared workgroup builds (distcc)
If you are able to set the share priority of your machine for shared workgroup builds in the Xcode 3.0 Distributed Builds Preferences, but the priority of the distccd process(es) on your machine does not change, check the configuration of your machine.
The executable /Library/Developer/3.0/distcc/distcclaunchdconfig must be installed, owned by root:wheel, with permissions -rwxr-xr-x
The file /System/Library/LaunchDaemons/com.apple.distccdConfig.plist must be installed, owned by root:wheel, with permissions -rw-r--r--
If any of these conditions is not true, you should reinstall the Developer Tools.
If your system appears to be configured correctly, you may be able to change the priority of the shared workgroup builds processes by typing the following command into a Terminal window:
sudo renice <priority> <pid> |
for the process with the lowest process ID. Valid priorities are 0 (high), 10 (medium), and 20 (low).
If you encounter an error when attempting to set the share priority for shared workgroup builds in the Xcode 3.0 Distributed Builds Preferences, follow the steps above.
Sharing for dedicated network builds (DNB)
If the checkbox "Share my computer for dedicated network builds" in the Xcode 3.0 Distributed Builds Preferences is enabled, and you can ping the remote build host(s) in your dedicated network, check the configuration of your machine.
The following files must be installed in /Library/Developer/3.0/DNB/DedicatedNetworkBuilds.framework/Resources, owned by root:wheel, with the correct permissions:
DNB.zip -rw-r--r--
bfobserver -rwxr-xr-x
dnbd -rwxr-xr-x
scmount -rwxr-xr-x
The following files must be installed in /System/Library/LaunchDaemons, owned by root:wheel, with permissions -rw-r--r--:
com.apple.dnbobserver.plist
com.apple.dnbvolunteer.plist
If any of these conditions is not true, you should reinstall the Developer Tools.
If your system appears to be configured correctly, use Activity Monitor to check that both the bfobserver and dnbd daemons are running. If one or both of these daemons is not running, you should be able to start it manually by typing the appropriate command into a Terminal window.
First start the build files observer:
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.dnbobserver.plist |
Then start the DNB volunteer:
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple. dnbvolunteer.plist |
Stopping sharing for dedicated network builds (DNB)
If the checkbox "Share my computer for dedicated network builds" in the Xcode 3.0 Distributed Builds Preferences is disabled but Activity Monitor shows a dnbd process running as root on your machine, you should be able to stop the process by typing the following command into a Terminal window:
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple. dnbvolunteer.plist |
Note that the "kill" command will stop but not disable the daemon, and launchd will immediately relaunch it. You should not stop the build files observer daemon (bfobserver).
If there is a dnbd process running as your user ID on your machine, your machine is acting as a dedicated network builds remote host (recruiter), sending build jobs to other machines. Killing that process will not disable your machine for sharing for dedicated network builds.
If you encounter an error when attempting to enable or disable the checkbox "Share my computer for dedicated network builds" in the Xcode 3.0 Distributed Builds Preferences, follow the steps above for sharing or stopping sharing of dedicated network builds.
Xcode can now alert you to the availability of updates to the Apple Developer Connection (ADC) reference library and help you download the new content. See the Accessing Documentation documentation for more information.
The documentation window now uses SearchKit indexes when performing full-text searches. Besides improving search speed and the general quality of the set of results, full-text searches now support boolean search strings and wildcard searches among other features. See Searching Documentation documentation for more information.
Additional release notes for Mac OS X can be found in the ADC Reference Library, in the resource type Release Notes. For example, in Release Notes > Tools you'll find the latest news on specific tools, such as GCC 3 Release Notes, the GCC 4 Release Notes, the GDB Release Notes, and the Compiler Tools Release Notes; APIs, such as CoreFoundation Framework Release Notes, Application Kit Release Notes (10.5), Foundation Release Notes, Carbon Core Release Notes; and on other technologies, such as Release Notes > Java and WebObjects 5.4 Release Notes
http://developer.apple.com: Apple’s Developer Central site is the best source of official up to date technical documentation on Mac OS X as well as being the primary place to find out about developing for the Macintosh platform.
http://developer.apple.com/tools/xcode: The Xcode home page on Apple’s developer site.
There are a number of mailing lists that are great for Mac OS X and Xcode developers. For more information please go to http://lists.apple.com. There are lists on the following topics and many more:
xcode-users: This list is great for asking (and answering) questions about Xcode.
java-dev: A place for Mac Java developers to hang out.
cocoa-dev: Keep in touch with the Cocoa community.
carbon-dev: Keep in touch with the Carbon community.
fortran-dev: For Fortran development issues.
unix-porting: For developers porting standard Unix software packages.
webobjects-dev: For WebObjects development issues.
All members of the Apple Developer Connection can use the online bug reporting tool (bugreporter) to communicate issues with Apple. Please include detailed information of the issue, including the system and developer tools version information, and any relevant crash logs or console messages.
To send feedback to Apple, please use:
xcode-feedback@group.apple.com: Comments or feedback on the Xcode Tools suite.
cocoa-feedback@group.apple.com: Comments or feedback on AppKit and Cocoa.
Last updated: 2007-10-31
|
Get information on Apple products.
Visit the Apple Store online or at retail locations. 1-800-MY-APPLE Copyright © 2007 Apple Inc. All rights reserved. | Terms of use | Privacy Notice |