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

Chapter 15. Development Tools > Development Applications

15.3. Development Applications

These Aqua applications all exist within /Developer/Applications.

Apple Help Indexing Tool

A frontend to the system's content indexer, tuned especially for making Apple Help web sites. To use it, drag and drop a folder filled with HTML onto this application's Finder icon; it automatically generates index files and inserts them into the target folder.

Through this tool, you can also specify an HTTP-based remote root, from which the Apple Help application will try to fetch help files that your other help pages reference, but that aren't present. These pages have a three-day time out on the user's machine. In this way, you can transparently give an application's users the most up-to-date Apple Help-based documentation.


A folder full of curiosities and experimental applications, such as the Mac OS X port of Mac OS 9's SimpleText text editor, Bluetooth traffic monitors, and the amazing, self-destructing "BombApp" application that demonstrates Mac OS X's protected memory in a very direct fashion.


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

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


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.

Interface Builder

A tool used to construct the GUIs for your Carbon or Cocoa Aqua applications. It's intended for use alongside Project Builder, as described later in Section 15.6.


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.


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 JavaBrowser → Preferences to add more class paths.


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, does not feature automatic garbage collection, this can come in quite handy for Cocoa developers.)


This tool lets you bundle Java classes into Mac OS X applications (i.e. .app directories). Its use is described in Section 10.5.


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 ObjectAlloc → About ObjectAlloc.

OpenGL Info

Displays information about the current machine's OpenGL capabilities.

OpenGL Profiler

Analyzes running OpenGL programs.

OpenGL Shader Builder

A shader tool for use with OpenGL development.


This application lets you create installer packages, of the sort described in Section 6.2.1. 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.)


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.

Project Builder

The central development environment for all Aqua programming, detailed later in Section 15.4.

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.

Chapter 22 covers property lists in more detail.

Quartz Debug

An analysis and debugging tool for Quartz, the PDF-based, 2-D 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.

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.



Not a subscriber?

Start A Free Trial

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