What's New in The December 2002 Developer Tools Release
What's New in The December 2002 Developer Tools Release
Introduction
The Developer Tools CD includes everything you need to begin developing applications for Mac
OS X, including tools, documentation, and software. For the latest information and updates to
Mac OS X development tools, documentation, code samples, and technical notes, please visit
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.
What's New
This section describes major changes in the December 2002 Developer Tools, compared with the
July 2002 release. Minor changes were also made in several components other than those listed
below. After installation, release notes containing detailed information on the changes can be
found in /Developer/Documentation/ReleaseNotes, and they can be accessed from the Help
menu within Project Builder.
- JavaDoc documentation is now indexed so that it can be used with Project Builder’s
integrated documentation.
Please read the release notes from Project Builder’s Help ‡ Show Release Notes menu item for
more details.
• AppleScript Studio 1.2.1 adds enhanced dictionary support. The sample projects will now run
on both Mac OS X 10.1 systems as well as Mac OS X 10.2. Please read the AppleScript Studio
release notes for more information.
• CHUD 2.5.1 is now on the CD. CHUD is a set of tools for low-level system debugging and
profiling. To install, open the disk image, and follow the instructions.
•!AppleScript Editor 2.0 Beta is now available in the Pre-release Software folder. Please read
the “About These Packages.rtf” file in the Pre-release Software folder for more details. Note that
this package requires Mac OS X 10.2.3 or higher.
• Sherlock SDK – There is now an SDK available to develop your own Sherlock channels. See
/Developer/Examples/Sherlock for sample channels and the online documentation for more
information.
• DiscRecording SDK – There are now sample projects demonstrating the DiscRecording
framework. Please see /Developer/Examples/DiscRecording/About Disc Recording Examples.rtf
for more information.
• FireWire SDK – There is now a complete SDK for developing for FireWire devices. Please
see /Developer/Examples/IOKit/firewire for the samples.
•!ForceFeedback SDK – The header files necessary to take advantage of Mac OS X 10.2.3’s
ForceFeedback framework have been added.
• AvailabilityMacros – You can now control which OS version you want to target your
application for using the AvailabilityMacros. Please see
/Developer/Documentation/ReleaseNotes/AvailabilityMacros.h for more details.
• New and updated documentation. Lots of new documentation content is included in this
release. Please check the various “what’s new” portions of the documentation for more
information.
This section describes major changes in the July 2002 Developer Tools, compared with the April
2002 release. Features which were included in Beta form in the April 2002 release are now final
in this release. Minor changes were also made in some other components. After installation,
various release notes can be found in /Developer/Documentation/ReleaseNotes, which can be
accessed from the release notes shown within Project Builder.
• The gcc 3.1 compiler is now the default compiler on the system. It can be used with C, C++,
Objective-C, and Objective-C++ source code. Projects that do not explicitly set a compiler will
now use gcc 3.1. We recommend that all projects start using gcc 3.1 unless there are overriding
reasons not to. Essentially the entire Mac OS X version 10.2 release has been compiled with gcc
3.1.
- Faster compilation times due to a new precompiled header mechanism. Now C++
code can take advantage of precompiled headers as well. Please refer to the GCC3
release note for more information.
- Better C++ support. In addition to supporting precompiled headers for C++, gcc 3
contains the following improvements:
• A more stable and efficient application binary interface (ABI).
• A new C++ standard library, including better support for the Standard
Template Library.
• Better compliance with the ISO C99 and ISO ANSI C++ specifications.
The new gcc3 C++ ABI requires recompiling all C++ libraries and frameworks.
You may need to stay with the older gcc 2.95 compiler if you are building Kernel Extensions or
IOKit Drivers that must also run on Mac OS X version 10.1, or if you are linking with third-party
C++ libraries for which you do not have source code.
If you need to switch back to gcc 2.95, please read the GCC3 release notes for information on
how to do that using the gcc_select command or within Project Builder for a specific project.
• Project Builder 2.0.1 has some significant new features, in additional to the final version of
the highly configurable multiple window user interface. Please read the release notes from
Project Builder’s Help ‡ Show Release Notes menu item for more details.
- MPW-inspired scripting:
• Execution of shell script snippets inline in any text buffer within Project
Builder.
• Customization of Project Builder’s menu bar by adding new menus and menu
items that invoke shell scripts when chosen.
- Debugger features:
• Formatting of values in variable list.
• View Variable in Window.
• Watch Expression window.
- Batch Find now supports full-text documentation content searches with relevancy-
ranked search results.
• Interface Builder 2.3 now supports the new Metal look, and includes other enhancements for
Cocoa and Carbon user interface features. Please read the Release Notes included in Interface
Builder for full details.
• AppleScript Studio 1.2 adds new functionality, including support for document-based
applications, pasteboard support, drag and drop, and various other enhancements. Many of the
sample applications have been enhanced to take advantage of these new features. Please read the
AppleScript Studio release notes for more information.
• New and updated documentation. Lots of new documentation content is included in this
release. Please check the various “what’s new” portions of the documentation for more
information. Documentation changes include the following:
• Project Builder 2.0 Beta has many changes; please read the release notes included in Project
Builder for details. The most major changes are:
- The overall user interface is now highly configurable, in response to user demand.
There are three primary default configurations – “Single Window” (the previous UI),
“Some Windows”, or “Many Windows”, and you can customize the UI from there if
necessary.
- Support for using the gcc3 compiler. Note that the gcc 2.95.2 compiler is still the
default (/usr/bin/cc), but it is easy to switch a project to use gcc, or switch the system
default as a whole.
• Interface Builder 2.2.1 includes some bug fixes; please read the Release Notes included in
Interface Builder for full details. In addition, the Interface Builder examples in
/Developer/Examples/InterfaceBuilder/ are updated to use typed outlets where applicable.
• AppleScript Studio 1.1 adds new functionality, including new classes (such as user-defaults)
and new commands, as well as fixes a number of bugs. In addition, a beta version of revised
documentation is included, as well as a preliminary version of a new Inside Mac OS X:
AppleScript Studio Terminology Reference manual.
NOTE: The AppleScript Studio tutorial application formerly known as “Watson” is now called
“Mail Search”, but the documentation has not yet been updated to reflect that.
• Thread Viewer includes several improvements and bug fixes. Backtraces can be copied from
Thread Viewer and pasted into bug reports. Thread Viewer has an experimental feature that
graphs additional metrics such as the number of calls to lock functions or malloc.
• Sampler will display its reports in terms of the number of seconds, percentage of total time, or
number of samples where a function was found on the call stack. This version also fixes a bug
that appeared after Mac OS X 10.1.2 where launching a CFM binary in Sampler would crash
Sampler. Sampler now watches the program with a separate, high-priority thread, so sampling
data should be more accurate.
• New and updated documentation. Lots of new documentation content is included in this
release. Please check the various “what’s new” portions of the documentation for more
information. Documentation changes include the following:
• AppleScript Studio is the flagship feature of this release. For more information about
AppleScript Studio, please read the “About AppleScript Studio” document.
• Project Builder 1.1.1 adds support for AppleScript Studio. Some new features such as syntax-
aware indentation were added. In addition, many bugs were fixed. Please read the release notes
included in Project Builder for full details.
The Project Builder file format has not been changed in this release. Projects saved with this new
version of Project Builder can also be opened with earlier versions.
• Performance improvements were made in the underlying gcc 2.95.2 compiler and gdb
debugger for C-based languages:
- In the September 2001 developer tools, when compiling in Project Builder, gcc was
generating too much duplicate source code indexing data, resulting in a major build
performance regression. That has been fixed.
- Debugging startup speed has been improved, especially if you have breakpoint
expressions which contain ObjectiveC methods (e.g., “-[NSException raise]”).
Please read the Release Notes included in Interface Builder for full details.
• New and updated documentation. Lots of new documentation content is included in this
release. Please check the various “what’s new” portions of the documentation for more
information. New documentation includes the following:
- Development Tools:
• updated Project Builder and Interface Builder Help documentation
• a PDF version of the Project Builder Help, in English and Japanese
- Cocoa developer documentation
• substantial new material
• reorganization for easier access
- Carbon:
• Quartz 2D API reference
• Locale Utilities Reference
• Unicode Utilities Reference
• Dock Manager Reference
- Java API documentation:
• You can access this from the Developer Help Center menu item in Project
Builder’s Help menu. Go to the Java section, then on the Java Developer
Documentation page, click on “Javadoc” under Related Resources.
• It can also be viewed in the JavaBrowser application, but you first need to fix
a path preference. In JavaBrower’s Preferences, in the Book pane (middle
icon), change the path in the JavaVM.framework to end with
Documentation/Reference/Java, instead of Documentation/Java, then close
and reopen the JavaBrowser application.
- QuickTime:
• QuickTime 5 API documentation, searchable from Project Builder
• Inside QuickTime: Interactive Movies
• Inside QuickTime: Virtual Reality
- Darwin:
• Writing an Audio Device Driver
• Writing Device Drivers for Mass Storage Devices
- Networking:
• CFNetwork
• System Configuration Framework
• Additional and updated source code examples for:
- AppleScript Studio
- CoreAudio
• Apple Help SDK, including developer docs, html templates, and a version of the Help
Indexing Tool that runs on Mac OS X. (This content is in the Developer Documentation
package, along with the new /Developer/Applications/Apple Help Indexing Tool.app.)
• Additional source code examples for:
- Printing SDK
- QuickTime Java 5.0.1
- fixes to other examples including SimpleText and GLUTExamples
Note -- Crash Reporter (which catches crashes in any application) is supplied in Mac OS X
itself rather than with the Developer Tools. In Mac OS X 10.1, Crash Reporter is now enabled
on a per-user basis through the Console application’s Preferences panel, rather than by editing
/etc/hostconfig. There is no need to reboot to activate or de-activate Crash Reporter now.
© 2002 Apple Computer, Inc. All rights reserved. Apple, the Apple logo, Mac, and Macintosh
are trademarks of Apple Computer, Inc., registered in the U.S. and other countries.