Organization of This Document
What’s New in Xcode 3.0
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, the Java compilers javac and 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 3.
You should be familiar with the Mac OS X system and general UNIX usage to take full advantage of this document.
This document contains several parts, each of which contains chapters devoted to a major functional area of the Xcode application. These parts are:
“Xcode Overview” describes the development process and how Xcode helps you with each step along the way.
“Developing” 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, projectwide searches, and the class browser.
“Designing” 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” describes Xcode’s text 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 text editor to edit project files.
“Safekeeping” 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.
“Building” describes Xcode’s build system and how to use Xcode to build a product. The chapters in this section describe targets 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.
“Executing” describes the graphical debugger in Xcode 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” describes how you can customize your work environment using scripts, preferences, and custom key bindings sets.
This document also contains appendixes and a revision history.
These are some of the features and changes that Xcode 3.0 incorporates:
Refactoring (new). Helps you improve the quality of your source code. See “Displaying Differences Between Models” for details.
The Organizer (new). Allows you to manage your frequently used projects, which could be Xcode projects as well as other type of projects, such as makefile-based or ant-based projects. See “Editing Text Files in the Organizer” for more information
Snapshots (new). Now you can undo changes across several files in a project.
Streamlined debugging (new). The Mini Debugger as well as the debugger strip allow you to debug your code where it counts: in your application or in the code editor.
Text editor:
Code focus and code folding let you narrow your focus to the right place in your source files (“Scoping Code”)
Message bubbles you to view project messages in the text editor (“Viewing Project Messages”).
Syntax formatting improvements (“Formatting Code”)
Better syntax-aware indentation (“Laying Out Code”)
Code completion is now inline and more intuitive
Open Quickly now operates on symbol names
Better performance
Documentation sets. Developer documentation is now published as documentation sets, which you can subscribe to to ensure that you always have access to the latest documentation right in the Xcode Documentation window, which offers more powerful navigation and search abilities. For more information, see “API Reference Search.”
The Research Assistant (new). This window offers a concise view of essential reference documentation for a symbol or build setting. See “Using the Research Assistant” for details.
Project formats allow sharing projects using different releases of Xcode (“Project Formats”)
SCM enhancements. You can perform all SCM operations, including import and check-out in Xcode.
Project Find improvements. Regular expression search has been thoroughly improved for performance.
For an introduction to Mac OS X system architecture and system technologies, a full list of the tools available with Xcode, and to learn more about the types of software you can create for Mac OS X, see Mac OS X Technology Overview.
For an introduction to the developer tools available for Mac OS X, see Getting Started with Tools.
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 Guide.
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 4.0.1 Compiler User Guide.
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.
Last updated: 2008-02-08