• Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint
Share this Page URL

Chapter 15. Xcode Tools > Developer Applications

15.3. Developer Applications

These Aqua applications all exist within /Developer/Applications:

Graphics Tools

This folder contains tools for use with OpenGL programming:

OpenGL Driver Monitor

Displays information about the current machine's graphics card and its OpenGL capabilities.

OpenGL Profiler

Analyzes running OpenGL programs.

OpenGL Shader Builder

A shader tool for use with OpenGL development.


Presents you with a magnified view of the pixels directly underneath the mouse pointer, which can serve as an aid in designing custom GUI elements.

Java Tools

This folder contains useful tools for Java developers:

Jar Bundler

This utility allows Java developers to package their program's files and resources into a single double-clickable application.


A simple, column-view browser that lets you navigate through the various Java classes installed on your machine. You can view their APIs (including methods, fields, and constructors) as well as their documentation and source code, if available.

By default, the browser knows about several dozen class paths across your filesystem (largely in the /System domain). Select JavaBrowserPreferences to add more class paths.

Performance Tools

Here you'll find a suite of applications you can use to help optimize and debug your code, including the CHUD Tools and benchmark software.


Named after C's malloc (memory allocation) function, this application lets you browse the sizes of memory structures within a running application. This can be a great help in detecting memory leaks—the sad state that a program can enter if it allocates more memory than it releases. (Since Objective-C, Mac OS X's lingua franca, doesn't feature automatic garbage collection, this can come in quite handy for Cocoa developers.)


Lets you spy on the memory allocation of a running application, much like the MemoryAlloc program, but focuses on the higher-level object allocations: Cocoa and Core Foundation. It contains comprehensive documentation under ObjectAllocAbout ObjectAlloc.

Quartz Debug

An analysis and debugging tool for Quartz, the PDF-based, 2D graphics rendering engine that makes Aqua possible. Useful if you're involved in low-level Aqua display hacking, or if you're simply curious as to various application window attributes that the system keeps track of.


Another application runtime analysis tool like MallocDebug or ObjectAlloc, except with an emphasis on time, rather than space; it helps you determine which internal functions and routines an application spends its time on while executing and lets you view and pull apart these call stacks in various ways. This makes it a great tool for analyzing and improving application performance.

Spin Control

This application can help you track down code that causes the spinning rainbow wait cursor to appear so you can rewrite or optimize the code.

Thread Viewer

Displays parallel threads running within a given application as colorful graphs, displaying their relative levels of activity at a glance, and whether any are in loops, locked, or stopped altogether.


This folder contains useful utilities developers need to help make their software more complete:


This folder contains the Bluetooth Monitor and PacketDecoder2 applications.

Built Examples

This folder contains builds of some of the application examples (samples in /Developer/Examples), including AppearanceSample, BlastApp, a Mac OS X port of Mac OS 9's SimpleText, Sketch, and WorldText.


A GUI for the diff and merge command-line tools, which helps you analyze the differences between two text files and merge them into one. It can be especially useful within a CVS context, as described in Chapter 17.

icns Browser

Lets you view the contents of icns resource files, which contain the images and bitmasks that make up Aqua icons. (A single icns file can hold several different images, specifying what the icon should look like at various sizes in color depths.)

Icon Composer

A tool for building icns icon files. You don't actually construct the icons with this application; it just binds images you have made through other means into a Mac OS X-friendly format.


A graphical browser to the computer's IO Registry system, which is organized like a standard Mac OS X property list, letting you tour the hierarchy of I/O devices available to the OS.


This folder contains the lone BuildApplet application, which can be used to build an applet from Python script by simply dropping the script file on the application.


This application lets you create installer packages, of the sort described in Section 5.2.1 in Chapter 5. This is useful for distributing software that involves more than a single application bundle.

Command-line (Darwin) programs often ship as an installer package, usable from Aqua, though they themselves aren't Aqua applications.


Lets you browse PEF (Preferred Executable Format) files, a kind of shared library format. (You can find examples in /System/Library/CFMSupport.)

Property List Editor

While you can create Property List files in any text editor, this application eases the process (and removes any XML-related hassles you may have) by letting you build .plist files through a graphical, hierarchical-display format. Buttons and pop-up menus control the adding, modification, and deletion of .plist elements.

This application doubles as a browser for existing property lists, serving as Mac OS X's default handler for opening .plist files from the Finder. For more information on using the Property List Editor, see Chapter 25.

Repeat After Me

Repeat After Me is a tool that is designed to improve the pronunciation of text generated by the Text-To-Speech (TTS) system, by means of editing the pitch and duration of phonemes.


This application helps developers create, test, and save SRLanguageModel objects. It can parse language model descriptions that have been written out in a special Backus-Naur Form (BNF) and produce SRLanguageModel objects. These can then be tested using the Speech Recognition Manager to determine how well different utterances in the language model can be recognized and distinguished from one another. The SRLanguageModels can be saved to disk in either the data or resource forks of a file so they can be used by an application.

USB Prober

This application can detect and report information about any devices connected to the USB ports, as well as find out which kexts are being used by the devices.



Not a subscriber?

Start A Free Trial

  • Creative Edge
  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint