Вы находитесь на странице: 1из 8

About Xcode Tools


Compatibility and Installation
Xcode Tools Release for
Mac OS X v10.4 (Tiger)

Contents

Introduction
Compatibility with Mac OS X Versions
What's New
Installing the Xcode Tools
About AppleScript Studio
Note for Metrowerks CodeWarrior Users
Compatibility of Built Binaries
Using Xcode Tools with WebObjects Developer
Troubleshooting

Introduction

Xcode Tools includes everything you need to develop software for Mac OS X, including the programming
tools, system API documentation, and Mac OS X interfaces, libraries, and example source code.

For the latest information and updates to Xcode Tools, documentation, code samples, and technical notes,
please visit the Apple Developer Connection’s Mac OS X pages, at
http://developer.apple.com/macosx

We encourage developers to join the Apple Developer Connection, which provides the most convenient
access to Mac OS X development resources, including technical support and pre-release software. For
information, visit
http://www.apple.com/developer

Compatibility with Mac OS X Versions

Xcode Tools 2.0 will run on Mac OS X v10.4 (Tiger). It will not install or run on earlier versions of Mac OS
X, and is not supported on development or preview versions of Mac OS X v10.4 (Tiger). Xcode Tools
supports development for Mac OS X v10.1, Mac OS X v10.2 (Jaguar), Mac OS X v10.3 (Panther), or Mac
OS X v10.4 (Tiger) using the Mac OS X SDK support.

What's New

• Xcode 2.0 includes many new features, speed improvements and bug fixes including:

- The Class Model provides a hierarchical diagram of your project and framework classes, and lets
you view, organize, navigate, and communicate the architecture of your entire project or a specific
part of it. See the Design Tools section of the Xcode 2.0 User Guide for more information.

- The Data Model is a model of your application’s persistent data store that automatically generates
a schema file for use with the new CoreData framework in AppKit. See the Xcode 2.0 User Guide
and Core Data documents for more information.

- Xcode enables you to take advantage of the 64-bit extension available for Mac OS X v10.4 (Tiger)
on the G5 processor. You can now set up a target to build "fat," that is, have multiple parallel
executables in the same binary for different processor options (e.g. G3, G4, G5).

- Fresh Documentation! Xcode now supports automatic updates of the documentation from the
online ADC Website. The developer documentation has been moved from /Developer/
Documentation to /Developer/ADC Reference Library. As requested, PDF's are no longer on the
disk, but are still available for download.

- Customizable project window - The Groups & Files list, detail view, editor, navigation bar, status
bar, Favorites bar, and toolbar can all be shown or hidden individually; those settings are persistent
for that project window. The project window now has a Favorites bar in which you can put icons for
frequently-used items—such as project files, bookmarks, even URLs—for quick navigation.

- Expanded Scriptability: Xcode's AppleScript dictionary and scripting implementation has been
greatly revised and expanded.

- Code Sense (code completion) has a new look and feel. Whenever a completion is possible, Xcode
indicates this in the source text. It has a new integrated Text Macros feature, which you can use to
expand a short macro to any of dozens of pre-defined or user-defined text blocks.

- The native build system has many requested features including deep (recursive) search paths for
any build setting that searches in a path. It passes complete library paths (rather than using
special linker flags) to specify linkage with system libraries, so it's easier to override default system
linkage options.

- Speed, robustness and ease of use improvements are everywhere. Preferences have been
streamlined. Parsing and display of errors and warnings is improved. Start up time for large
projects, single-step speed, and display of many standard Mac OS X data types in the debugger
have all been improved. Find and Replace, Distributed Builds and project indexing are all faster and
more robust. Build settings are easier to use and the dependency mechanism is much more
reliable.

- The libgmalloc ("GuardMalloc") and libMallocDebug memory debugging libraries now support
applications which require two-level namespace. They're also easier to use, since they trap directly
into the debugger when errors like double free()'s or freeing unallocated memory occur.
GuardMalloc can be used by checking the Enable Guard Malloc menu item in Xcode's Debug menu.

• GCC 4.0 is the fastest and best open source compiler ever.

- New faster recursive descent C++ parser that conforms to the C++ standard.

- State-of-art Single Static Assignment code optimization framework. This is the technology that the
best compilers in the world use. GCC4.0 is better than 3.3, but even more improvements using SSA are
coming in future releases. If you haven't switched to GCC before, now is the time to do it.

- Autovectorization, an application of the SSA technology, automatically adds Velocity Engine (AltiVec)
operations.

- Objective-C/C++ diagnostics are improved.

- GCC 4.0 supports 64-bit development for C and C++ (Objective-C/C++ is not yet supported).

• Interface Builder 2.5 offers many new features and provides enhanced support for Cocoa and
Carbon including:

General :
- Document shading has been added to help focus on the windows belonging to the active document.
- Object IDs can be displayed in the document's list view.
- Search by Object ID or string content is supported.
- The Apple Human Interface Guidelines can be accessed from the Help menu and inspector Help
button.

Cocoa Specific :
- Support for the NSDatePicker, NSLevelIndicator, NSSegmentedControl and NSTokenField has been
added.
- The AXDescription, AXHelp, AXLinkedElements and AXTitleElements accessibility attributes are supported
by a new inspector mode.
- The NSManagedObjectContext and NSTreeController are available from the controllers palette.
- Several new palettes can be found in /Developer/Extras/Palettes.
- Improved localization support is available from various menus.

Carbon Specific :
- Support for the Disclosure Button, Segment View, Movie View, Placard, and Window Header has
been added.
- Various improvements to tab ordering, text color, control behavior are available from inspectors.
- Improved support for window sizing and layout has been added.

• Shark 4.1

- VM fault profiling records a complete trace of memory faults (all or a single type) along with fault
addresses. See how page in, copy on write and other faults map to your source code.

- Performance count data mining - focus on samples with specific performance characteristics.

- Unresponsive application sampling (a la Spin Control).

- Compare and merge sessions - track and analyze performance regressions.

- Enhanced code analysis.

- Improved performance, reduced memory usage, and bug fixes.

• Java

- Java 1.4 Reference Documentation - The standard Java and Apple Extension reference
documentation is now installed by the Xcode Tools installer. You can install it at any time by performing a
custom install within the Xcode Tools installer and choosing "Java 1.4 Reference Documentation" under the
"Java 1.4 Developer Tools" heading. Note that the Java conceptual documentation from Apple is installed
as part of the ADC Reference Library and doesn't require a separate installation.

- Java Profiling with Shark - Shark provides three styles of Java tracing: Time, Alloc, and
Method. These styles of tracing only work on a single Java process at a time; there is no systemwide Java
tracing. Java Time Trace is similar to a regular Time Profile in that it periodically stops the Java process
and takes samples of the running threads. Java Alloc Trace records memory allocations and the sizes of
the objects allocated. Java Method Trace records each entry into every method during the execution of
your program. This is an exact trace of the methods called.

- Java Code Completion and Indexing - With this release, the Java Code Completion and
Indexing features have greatly benefited from the overall improvement of Code Sense. Specifically for
Java have been improvements to the accuracy of code completion, and improvements to the performance
and stability of indexing.

- Ant support for Java development - Ant is now installed in /Developer/Java/Ant and is
referenced in the following new Xcode templates: Ant-based Application jar, Ant-based Empty Project, and
Ant-based Java Library. Ant has been upgraded to version 1.6.2. The ant templates now have an 'install'
target for command line builds.

- Java 1.3.1 - JDK 1.3.1 is still present in this release for compatibility with existing applications.
Development with Java 1.3.1 is deprecated in favor of development with Java 1.4.2.

• AU Lab

AU Lab is a digital mixing application that provides facilities for blending audio from the input of an
audio device as well as audio generated by an Audio Unit Instrument or Generator. In addition, AU Lab
can host Audio Unit effects and route audio through these effects.
AU Lab is very efficient and has a very high performance and low overhead audio engine capable of
supporting multiple outputs, and advanced routing features such as send buses and sidechain buses. The
application provides MIDI clock facilities for audio units that support host clock synchronization, and an
inspector that features a cocoa-based generic view of audio units that do not provide their own custom
user interface. This inspector includes full support for preset management, and facilities for MIDI mapping
of audio unit parameters.

For detailed documentation on AULab, see AULabDocs.html in /Developer/Applications/Audio/AU Lab


Documentation.

• Quartz Composer

Quartz Composer is a development tool provided with Mac OS X v10.4 (Tiger) for processing and
rendering graphical data. Its visual programming environment is suited for:

• Developing graphics processing modules without writing a single line of code.

• Exploring the visual technologies available in Mac OS X without needing to learn the application
programming interface (API) for that technology.

Quartz Composer brings together a rich set of graphical and nongraphical technologies, including
Quartz 2D, Core Image, Core Video, OpenGL, QuickTime, MIDI System Services, and Real Simple
Syndication (RSS), which is a lightweight XML format.

You use Quartz Composer to create compositions, which are graphical programs. Compositions can
run autonomously, or you can incorporate them into an application. You can play back and interact with a
composition from within an application by using a very straightforward runtime API or without any code at
all by using QCView, which is provided on the Quartz Composer palette in Interface Builder. Quartz
Composer compositions are fully compliant with the Cocoa controller layer and key-value bindings,
allowing to combine Interface Builder and Quartz Composer to rapidly develop data-driven visualizations.
For more information, please see /Developer/ADC Reference Library/documentation/GraphicsImaging/
Quartz-title.html.

• OpenGL Profiler

OpenGL Profiler has been extensively updated for Mac OS X v10.4 (Tiger). This includes:

- Redesigned UI - taking the Profiler UI even further then the 2.0 Profiler that shipped with
Panther. Even easier to use!

- Active Resource Collection – The "Collect Resources" checkbox from 2.0 is gone. Now you can
get all the resources, like texture objects, whenever you want them, even after attaching to an
application.

OpenGL Profiler has Improved Trace Functionality that lets you:


– Save Using Filter: Make your own custom scripts that get applied to a trace and easily save out
the result.
– Backtraces: Check out the exact line number in your code that each OpenGL call originated from.
– Per-Call Timing: Now you can see the exact amount of time spent in each specific OpenGL call, in
addition to the overview given in the statistics view. Along with the backtrace functionality, this lets you
easily find hotspots.

- Remote Profiling – Great for debugging full screen applications. Works just as easily as is with
the OpenGL Driver Monitor.

• SDK support

Xcode now includes SDK packages for Mac OS X v10.2.8, Mac OS X v10.3.9 and Mac OS X v10.4.0.
These packages are also installable on Mac OS X v10.3.x, and should work with Xcode 1.5 as well as 2.0.
To install them separately, open the Packages folder inside your Xcode Tools installation and double-click
on "Cross-Development.mpkg".
You can use GCC 3.3 to develop applications for Mac OS X v10.2 and forward. You can use GCC 4.0 to
develop applications for Mac OS X v10.3 or later. Note that if you are using GCC 4.0 and are developing in
C++ or Objective C++, your built applications will only run on Mac OS X 10.3.9 or later.
Note that older compilers may be necessary to write software for versions of Mac OS X earlier than
v10.2; these compilers should be available for download from the ADC website at

http://developer.apple.com

Deprecated Features

• GCC 2.95.2/3.1: Neither GCC 2.95.2 nor GCC 3.1 is included for Xcode Tools for Mac OS X v10.4
(Tiger). GCC 3.3 is capable of producing binaries which run on Mac OS X v10.2 or later. If you are unable
to change to GCC 3.3, you can download GCC 2.95.2 or GCC 3.1 from the ADC website at

http://developer.apple.com

For more information on new features, see the release notes for the individual components in the ADC
Reference Library, accessible from the Xcode documentation window.

Installing Xcode Tools


The XcodeTools.mpkg package contains several separate sub-packages in the Packages folder that allow
flexibility in installation and updating:

• Developer Tools (DeveloperTools.pkg) - This package contains Xcode, gdb, and the other tools
necessary for Macintosh development.
• GCC 4.0 (gcc4.0.pkg) - This is the latest version of gcc. This compiler is necessary for 64-bit
development.
• GCC 3.3 (gcc3.3.pkg) - This package contains the gcc 3.3 compiler.
• Software Development Kits - These packages provide the header files and link libraries necessary
for Macintosh development. All Macintosh development require the Mac OS X SDK, which provides the API
for basic Macintosh technology such as Carbon, Cocoa, and command-line tools. The other SDK packages
provide API for extended Macintosh technologies, such as QuickTime or OpenGL, etc.
• Java 1.4 Developer Tools - These packages are used when developing Java 1.4 applications for
Macintosh.
• Developer Documentation (DevDocumentation.pkg) - This package contains the core Macintosh
developer documentation for technologies such as Carbon, Cocoa, QuickTime, WebKit, etc.
• Developer Examples (DevExamples.pkg) - The package contains example code for a wide variety of
Macintosh technologies. Note that these examples may require any of the above Software Development
Kits to be installed before they will compile.
• Packages for Mac OS X v10.2, Mac OS X v10.3, and Mac OS X v10.4 (Tiger) to allow cross
development. (MacOSX10.2.8.pkg, MacOSX10.3.9.pkg, and MacOSX10.4.pkg). These can be installed
together or independently, and can be installed separately from the installation of the rest of Xcode.
(CrossDevelopment.mpkg)
• CHUD (CHUD.pkg) - The Computer Hardware Understanding Developer Tools. For more information,
see
http://developer.apple.com/tools/performance/

Installation instructions:

1) Boot into Mac OS X.

2) Insert the Mac OS X v10.4 (Tiger) DVD, Mac OS X v10.4 Server DVD, or the Xcode Tools CD.

3) Double-click on the XcodeTools.mpkg file. On the Xcode Tools CD, this is at the top-level. On the Mac
OS X v10.4 (Tiger) DVD, this is in the Xcode Tools folder. On the Mac OS X v10.4 Server DVD, this is in
the Other Installs/Xcode Tools folder.

4) Click the lock icon to authenticate as a user with administrator privileges. The first user you create
when setting up Mac OS X has administrator privileges by default.

5) Follow the instructions in the installer. If you need to install the Cross-Development packages, you
must select "Custom Install", and check those packages.

NOTE: Xcode Tools MUST be installed on the same hard drive partition from which you
booted Mac OS X. The Installer prevents installation on any other partition.

6) Be patient at the end of installation! After all files have been written to the disk, but prior to
“Optimizing System Performance”, the post-install scripts cache information needed for the Xcode tools to
work optimally. This takes substantially longer than the “less than a minute” reported by the
Installer. To see what’s going on during this period, you can go to the Installer’s File menu and choose
Show Log.

If you encounter any problems in installation, including not having enough disk space to do the
installation, please refer to the "Troubleshooting" section below.

Once you have installed the Xcode Tools package, you can access the documentation by launching Xcode
and choosing any of the items in the Help menu, or by launching Help Viewer and clicking on the
Developer Center link at the bottom of the Help Center welcome page. Developer applications, such as
Xcode and Interface Builder, are installed in /Developer/Applications.

It is highly recommended that you copy any of the examples in /Developer/Examples to another directory
before opening them and modifying them. If a particular example is modified such that it no longer works,
you must remove the example, and reinstall the entire examples package by double-clicking on
Packages/DevExamples.pkg on the Xcode Tools installation disk.

About AppleScript Studio


AppleScript Studio enables the creation of native Mac OS X applications written entirely in AppleScript or a
combination of AppleScript and other languages such as Objective-C or Java. AppleScript Studio combines
the unique power and abilities of AppleScript with the same Aqua interface elements used by traditional
Cocoa and Carbon developers. The result is a robust rapid development environment that taps the
flexibility and reach of AppleScript to create innovative applications for Mac OS X quickly and easily.

Getting Started with AppleScript Studio

To get started with AppleScript Studio, install the Xcode Tools, following the instructions given in this
document.

After installation, return to the Finder, navigate to the folder /Developer/Applications, and launch the
Xcode application.

To view AppleScript Studio documentation in Xcode, choose the Documentation menu item from the Help
menu, disclose AppleScript in the Search Groups list, and then click Tools. Doing so will display the
AppleScript Tools Reference Library page, which contains a link to the document “Building Applications
With AppleScript Studio.” You will also find a link to “AppleScript Studio Terminology Reference,” which
contains key terminology information. A third document, “AppleScript Studio Essentials,” provides an
overview of AppleScript Studio, as well as links to the other two documents.

To create a new AppleScript Studio project in Xcode, choose the New Project… menu item from the File
menu, then select one of the AppleScript project types.

Viewing or Editing the AppleScript Studio Example Projects

The folder /Developer/Examples/AppleScript Studio contains a number of AppleScript Studio example


projects.

You can open and view any of the examples by going to the examples folder and opening the Xcode
project file, which by convention has the same name as the containing folder, with the suffix of .xcode (for
example, “Simple Outline.xcode”).

We suggest that you edit duplicates of the example projects and not the original files themselves. If you
wish to modify an example project, copy the folder containing the example project to your home folder
and open the copy.
The “Mail Search” example project is discussed extensively in the “Building Applications With AppleScript
Studio” document.

Note for Metrowerks CodeWarrior Users

Xcode Tools installs a new version of /usr/lib/crt1.o built with the latest version of GCC 3.3, supporting the
-mlong-branch option. There are incompatibilities between versions of CodeWarrior earlier than 9.3 and
this crt1.o implementation. If your CodeWarrior Mach-O project uses crt1.o, it may cause CodeWarrior to
present the following error message:

Internal Mach-O Importer Error File 'ImportMachO.c' Line 1112 (can't find section for address)

CodeWarrior 9.3 fixes this problem.

Compatibility of Built Binaries

The GCC 4.0 compiler is the default compiler for Xcode, and has a different C++ ABI than either the GCC
3.3 compiler (the default compiler for Xcode 1.x), the GCC 3.1 compiler (the default compiler for the
December 2002 release of the Developer Tools) or the GCC 2.95 compiler (the default compiler for earlier
releases of the Developer Tools). C++ ABI differences include changes to name mangling, exception
handling, and class layout and alignment.

The GCC compiler’s ABI (Application Binary Interface) for C++ programs has been changing as the
compiler’s support for the full C++ language has become more complete. As a result of these changes,
all of your C++ code, including libraries and frameworks, must be built with the same compiler. Note that
this is not necessary for C or Objective C code.

IOKit-based device drivers built with the GCC 3.3 or GCC 4.0 compilers will run on Mac OS X v10.2
(Jaguar), Mac OS X v10.3 (Panther), and Mac OS X v10.4 (Tiger) systems. However, you must use GCC
2.95.2 if you write kernel extensions that need to run on Mac OS X v10.1.

Using Xcode Tools with WebObjects Developer

The developer tools included with WebObjects 5.2.3 or earlier are not qualified with Mac OS X v10.4
(Tiger) and Xcode 2.0. We expect to have support in a future WebObjects release. Please check http://
www.apple.com/webobjects for the latest information and updates.

Troubleshooting

• If you have a small amount of disk space on your boot volume, you can set up a symbolic link for
any part of the /Developer hierarchy. The installer will respect the symbolic link and install the files
correctly. For more information on symbolic links, see "man ln".

• In some configurations upgraded from Jaguar to Tiger, the Project Builder IDE and Xcode IDE will
both be available in the /Developer/Applications folder. The Project Builder IDE is not supported for use on
Panther, but it will work for some uses. Some of the issues in its operation are subtle and difficult to
detect. It is recommended that you discontinue use of Project Builder and use Xcode instead.

• Interface Builder can be used with Project Builder, or Xcode, but not both at the same time. If you
use Interface Builder and need to switch between Project Builder and Xcode, you must quit Interface
Builder and relaunch it to switch to the other IDE.

• If you need to uninstall Xcode Tools, there are two correct ways to do so:

- If you have an installation of Xcode Tools on your system already, type from a Terminal window:
% sudo perl /Developer/Tools/uninstall-devtools.pl

- You can also uninstall from the CD or disk image that contains Xcode Tools:
% sudo perl /Volumes/Mac\ OS\ X\ Install\ DVD/Xcode\ Tools/Utilities/uninstall-devtools.pl

Running the uninstall script from Xcode Tools will uninstall any previous installations of Mac OS X
Developer Tools or Xcode Tools releases.
After running the uninstall script, you should restart your system before installing the Xcode Tools again.
Note that the uninstaller that ships with previous versions of Xcode Tools or the Developer Tools will not
clean everything off of your system properly. You should either use the one on the Mac OS X v10.4
(Tiger) DVD, or you should use the one installed when you installed Mac OS X v10.4 (Tiger) Xcode Tools.

© 2005 Apple Computer, Inc. All rights reserved. Xcode, Apple, the Apple logo, Mac, and Macintosh are trademarks of Apple
Computer, Inc., registered in the U.S. and other countries.

Вам также может понравиться