Important: The information in this document is obsolete and should not be used for new development.
Organization of This Document
See Also
Software development can be thought of as a complex problem space in which you manage files to produce products. The types of files can include source files, resource files, and supporting files (documentation, timelines, notes, or any other files that help you build the software but aren’t part of the product). You use various tools to process the files into a variety of outputs. To automate the process and keep track of all the details and interactions, you use an IDE.
The Xcode IDE is designed to help you work in this type of problem space. It allows you to perform most tasks quite simply, using its basic user interface. Many features should be familiar to most developers. Xcode is Apple's tool suite and integrated development environment (IDE) for creating Mac OS X software. The Xcode application includes a full-featured code editor, a debugger, compilers, and a linker. The Xcode application provides a user interface to many industry-standard and open-source tools, including GCC, javac, jikes, and GDB. It provides all of the facilities you need to build a program for Mac OS X, whether it’s an application, kernel extension, or command-line tool.
This document describes the Xcode application and how you can use it to develop software for Mac OS X. It provides a comprehensive guide to Xcode’s features and user interface. This document is intended for developers using Xcode to build software for Mac OS X. This document is written for Xcode 2.0.
This document contains several parts, each of which contains chapters devoted to a major functional area of the Xcode application. These parts are:
“Developing a Software Product With Xcode” describes the development process and how Xcode helps you with each step along the way.
“Projects” introduces the Xcode project and its primary components, and covers important project management concepts. The chapters in this part show you how to create an Xcode project, add and manage project files, organize project items, and modify project attributes. They describe the project window and other important Xcode user interface conventions; as well as mechanisms for finding information in your Xcode project, including documentation lookup, project-wide searches, and the class browser.
“Design Tools” describes the class modeling and data modeling design tools included in Xcode. The chapters in this part describe common user interface features of these two tools, demonstrate how to model classes in your application, and describe how to create a schema for use with the Core Data framework.
“Editing Source Files” describes Xcode’s source code editor. The chapters in this part describe the user interface for Xcode’s built-in editor, and show you how to use features such as code completion, text macros, and the navigation bar to quickly author source code and navigate source code files. They also discuss how to use an external application to edit project files.
“Version Control” discusses the version control systems supported by the Xcode application. The chapters in this part show you how to configure a version control system in Xcode and how to perform common version control tasks, such as updating files, committing changes, and comparing file revisions.
“The Build System” describes Xcode’s build system and how to use Xcode to build a product. The chapters in this section describe targets, build styles, and the other information that Xcode uses to build a product. They also show you how you can customize the build process by adding custom tasks to the build process or change the way a product is built by modifying build settings. This part also includes information on features that you can use to reduce the amount of time it takes to build, such as distributed builds, precompiled prefix headers, and predictive compilation.
“Debugging” describes Xcode’s graphical debugger and shows you how to run and debug your program in Xcode. The chapters in this part demonstrate how to use features such as Fix and Continue, which lets you make changes to your program while it is running and continue your debugging session, and remote debugging, which allows you to debug an application running on a remote host.
“Customizing Xcode” describes how you can customize your work environment using scripts, preferences, and custom key bindings sets.
For an introduction to the developer tools available for Mac OS X, see Getting Started With Tools.
For an introduction to Mac OS X system architecture and system technologies, see Mac OS X Technology Overview.
To see a full list of the tools available with Xcode Tools, see Mac OS X Developer Tools in Mac OS X Technology Overview.
To learn more about the types of software you can create for Mac OS X, see Software Development Overview in Mac OS X Technology Overview.
To learn more about the Mac OS X standard user interface, see Apple Human Interface Guidelines.
For a tutorial introduction to Xcode, see Xcode Quick Tour for Mac OS X.
For tips on converting Code Warrior projects and other existing code to build in Xcode, see Porting CodeWarrior Projects to Xcode.
To learn more about the GNU compiler collection, see GNU C/C++/Objective-C 3.3 Compiler.
For more information on debugging with GDB, see Debugging with GDB.
For information on using cross-development to develop for multiple versions of Mac OS X, see Cross-Development Programming Guide.
In addition, many other documents are referred to or recommended throughout this document.
© 2004, 2006 Apple Computer, Inc. All Rights Reserved. (Last updated: 2006-11-07)