0% found this document useful (0 votes)
74 views10 pages

What's New in The December 2002 Developer Tools Release

The document summarizes the changes and new features in the December 2002 Developer Tools release. It describes updates to tools like Project Builder, gcc, AppleScript Studio, and documentation. New SDKs were also added for technologies like Sherlock, DiscRecording, CoreAudio, and FireWire.

Uploaded by

rebafan
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
74 views10 pages

What's New in The December 2002 Developer Tools Release

The document summarizes the changes and new features in the December 2002 Developer Tools release. It describes updates to tools like Project Builder, gcc, AppleScript Studio, and documentation. New SDKs were also added for technologies like Sherlock, DiscRecording, CoreAudio, and FireWire.

Uploaded by

rebafan
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

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.

Compatibility and Installation


Important! Please read the compatibility notes and installation instructions in the “About
Developer Tools” document.

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.

• Project Builder 2.1 has some significant new features:

- Support for external editors:


• You can use arbitrary editors for different file types.
• Project Builder will show you build errors in your external editor when you
use BBEdit or emacs.

- Build system features:


• Project Builder will now do multiple compiles at the same time on machines
with more than one processor.
• Project Builder’s header dependency analysis is improved.
• Project Builder now links executables in a more optimal manner.
• You can now set compile flags on a per-file basis.
• Assembler flags are now separate from flags to the compiler.
- Interface to customize key bindings.

- Better CVS integration.

- The CodeWarrior project importer has been vastly improved.

- Miscellaneous interface improvements:


• You can now sort files, targets, and build phase objects in a project.
• You can display line numbers on the same line as your source.
• The breakpoint gutter has been improved.

- JavaDoc documentation is now indexed so that it can be used with Project Builder’s
integrated documentation.

- Improved text encoding support.

- There is support for dynamic C++ types in the debugger.

Please read the release notes from Project Builder’s Help ‡ Show Release Notes menu item for
more details.

• gcc3.1 has several bug fixes. In addition:


- an optimization has been made to speed up searching for header files. If your
command lines have a lot of –I directives to add directories to the compiler’s search
path, this optimization should help your compile time.
- The HTML documentation for the compiler is missing from the release. You can find
it on the web at:
http://developer.apple.com/techpubs/macosx/DeveloperTools/gcc3/gcc/index.html
http://developer.apple.com/techpubs/macosx/DeveloperTools/gcc3/cpp/index.html

• 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.

• The jikes Java compiler has been updated to version 1.17.

• PackageMaker has some new features:

- Drag-and-drop functionality in the list editor.


- Inline attribute editing.
- Progress sheet for status during package creation.
- Package completion dialog.

• 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.

• CoreAudio SDK – There are more examples in /Developer/Examples/CoreAudio. Please see


/Developer/Examples/CoreAudio/ReadMe.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.

What Was New in the July 2002 Developer Tools Release


The July 2002 Developer Tools should be used only when running Mac OS X version 10.2. For
development on Mac OS X 10.1, use the April 2002 Developer Tools or an earlier release.

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.

gcc 3.1 offers the following benefits over gcc 2.95:

- 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.

- Significantly better code optimization and generation. If you avoided turning on


optimization in the past, now would be a good time to try it again.

- 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.

Additional new features include:

- 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.

- Build system features:


• Support for gcc 3.1’s new “Persistent Front End” precompiled header
mechanism, so that C++ projects can now also get faster compile times.
• New target editor user interface.
• “Install” builds from the IDE using a Build Style.
• Various other enhancements.

- 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:

- Updated System Overview book.


- Aqua Human Interface Guidelines updated for Mac OS X 10.2.
- Updated Cocoa and Carbon documentation
- Updated Darwin documentation, such as the UNIX Porting Guide.
- Lots more…

What Was New in the April 2002 Developer Tools


This April 2002 release of the Developer Tools includes the following major additions and
updates, compared with the December 2001 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 compiler is included as pre-release, beta software intended for evaluation purposes.
It can be used with C, C++, Objective-C, and Objective-C++ source code. For information on
how to switch to gcc 3 for evaluation purposes, please read the GCC3 release notes and the
Project Builder release notes.

• 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.

• Changes in the gdb debugger for C-based languages include:

- Hardware (page-protection) watchpoint support.


- Significant bug fixes for improved stability, for example when stepping over code
that generates signals.
- Better support for debugging C++ code, particularly for gcc3-compiled code

• 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:

- Cocoa API reference documentation is now complete!


- Updated Carbon documentation
- Updated Darwin documentation
- MachO Runtime Architecture manual (preliminary draft)
- Updated Project Builder documentation
- Beta versions of AppleScript Studio documentation:
• Building Applications with AppleScript Studio (updated)
• AppleScript Studio Terminology Reference (new)

What Was New in the December 2001 Developer Tools


The December 2001 release of the Developer Tools included the following additions and
updates, compared with the September 2001 release of the Developer Tools

• 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]”).

- Debugging stepping speed has been significantly improved.

• Interface Builder 2.2 includes enhancements such as:


- Views and menus can be popped out of their containers and dragged, while
preserving their connections.
- Objects can be logically grouped during design without embedding them in a
container.
- The size and position of objects can be locked.
- For Cocoa applications, “typed outlets” ensure connections are made to objects of the
correct type.
- Various other enhancements for Cocoa UI editing have been made.

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

What Was New in the September 2001 Developer Tools


The September 2001 release of the Developer Tools included the following additions and
updates, compared with the May 2001 release of the Developer Tools
• Two-level namespace support in the linker. This is now the default behavior of the linker.
This may require some project source code changes, especially for bundles. Please read the
Two-Level Namespaces release note for more information.
• Objective-C++ support in gcc 2.95.2 and Project Builder, allowing you to more easily:
- create Cocoa applications which use existing C++ libraries
- add Cocoa user interfaces to C++ applications
Please read the Objective-C++ release note for more information.
• Project Builder 1.1, which includes major new features such as:
- a class browser for Java, Objective-C, C++, and Objective-C++
- integrated viewing of developer documentation, including API spec sheets,
conceptual documentation, release notes, and more
- significant improvements in speed and robustness of source code indexing and
symbol popups
- faster gdb debugger startup and better control of symbol loading in shared libraries
- the Jikes 1.14 Java compiler
- project templates for Interface Builder palettes and Screen Saver plug-ins
Please read the Release Notes included in Project Builder for full details. Also, note that
the Project Builder project file format has been changed. Projects saved with this new
version of Project Builder will not open with earlier versions.
• Interface Builder 2.1, which includes major new features such as:
- user interface improvements, such as for class editing and container content editing
- flagging of potential missed connections for Cocoa
- checking for compatibility of nibs with versions of Mac OS X
- keyboard navigation checking mode for Cocoa
- various other enhancements for Carbon and Cocoa UI editing
Please read the Release Notes included in Interface Builder for full details.
• Thread Viewer, a new performance analysis tool in /Developer/Applications for analyzing
application thread behavior. There have also been minor enhancements and fixes to
MallocDebug and Sampler.
• Updated documentation, including:
- updates to Cocoa and Carbon documentation
- updated Aqua Human Interface Guidelines documentation
- new Screen Saver and Preferences Pane documentation

• 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.

You might also like