Xcode 2.0 User Guide
(Legacy)
PDF
Introduction
Developing a Software Product With Xcode
Defining a Product
Creating a Project
Project Organization and Navigation
Editing Files
Resources and Localization
The Edit/Build/Debug Cycle
Analyzing and Optimizing Your Software
Customizing Your Work Environment
Part I: Projects
Projects in Xcode
Components of an Xcode Project
The Project Directory
Creating a Project
Choosing a Project Template
Creating a New Project
Importing a Project
Opening and Closing Projects
The Project Window
The Project Window and its Components
Project Window Layouts
Viewing Additional Information on Project Items and Operations
Files in a Project
Files in Xcode
The Files in a Project
How Files Are Referenced
Adding Files, Frameworks, and Folders to a Project
Source Trees
Referencing Other Projects
Organizing Xcode Projects
Software Organization Tips
Dividing Your Work Into Projects and Targets
Organizing Files
Saving Commonly Accessed Locations
Adding Comments to Project Items
Inspecting Project Attributes
Finding Information in a Project
Searching in a Project
Viewing Project Symbols and Classes
Viewing Documentation
Part II: Design Tools
Overview of Xcode Design Tools
Class Modeling
Data Modeling
Why Are Modeling Tools Useful?
Common Features of the Xcode Design Tools
The Diagram View
The Browser View
Info Window
Workflow
Class Modeling With Xcode Design Tools
Creating Models
Indexing and Tracking
The Diagram View for Class Modeling
The Browser View for Class Modeling
Data Modeling With Xcode
The Diagram View for Data Modeling
The Model Browser for Data Modeling
The Predicate Builder
Workflow
Part III: Editing Source Files
Inspecting File Attributes
Inspecting File, Folder, and Framework References
Choosing File Encodings
Changing Line Endings
Overriding a File’s Type
Opening, Closing, and Saving Files
Opening and Closing Files
Saving Files
The Xcode Editor
The Xcode Editor Interface
Navigating Source Code Files
Controlling the Appearance of the Code Editor
Formatting and Syntax Coloring
Setting Syntax Coloring
Wrapping Lines
Indenting Code
Matching Parentheses, Braces, and Brackets
Code Completion
Using Code Completion
Changing Code Completion Settings
Text Macros
Using an External Editor
Overriding How a File is Displayed
Changing the Preferred Editor for a File Type
Opening Files With an External Editor
Opening Files With Your Preferred Application
Customizing for Different Regions
Marking Files for Localization
Adding Files for a Region
Part IV: Version Control
Overview of Version Control
Managing Projects
Project Packages
Configuring Repository Access
Managing Files
Viewing File Status
Adding Files to the Repository
Updating Files
Removing Files From the Repository
Renaming Files
Viewing Revisions
Comparing Revisions
Committing Changes
Resolving Conflicts
Development Workflow
Part V: The Build System
Targets
Anatomy of a Target
Creating Targets
Target Dependencies
Working with Files in a Target
Inspecting Targets
Converting a Project Builder Target
Build Phases
Overview of Build Phases
Build Phases in Xcode
Adding and Deleting Build Phases
Adding Files to a Build Phase
Processing Order
Compile Sources Build Phase
Copy Files Build Phase
Run Script Build Phase
Build Rules
Build Settings
Overview of Build Settings
Build Setting Syntax
Build Setting Layers
Build Setting Evaluation
Editing Build Settings in the Xcode Application
Using Build Settings With Run Script Build Phases
Troubleshooting Build Settings
Per-File Compiler Flags
Build Styles
Overview of Build Styles
Predefined Build Styles
Editing Build Styles
Building a Product
Build Locations
Building From the Xcode Application
Viewing Build Status
Viewing Errors and Warnings
Building From the Command Line
Linking
Specifying the Search Order of External Symbols
Preventing Prebinding
Linking With System Frameworks
Linking to a Dynamic Library in a Nonstandard Location
Reducing the Number of Exported Symbols
Reducing Paging Activity
Dead-Code Stripping
Using ZeroLink
Optimizing the Edit-Build-Debug Cycle
Using a Precompiled Prefix Header
Distributing Builds Among Multiple Computers
Predictive Compilation
Using Cross-Development in Xcode
Part VI: Debugging
Executable Environments
Executable Environments in Xcode
Setting the Active Executable
Creating a Custom Executable Environment
Editing Executable Settings
Running a Development Product
The Run Log
Running in Xcode’s Debugger
Generating Debugging Information
Configuring Your Executable for Debugging
Starting Your Program in the Debugger
Lazy Symbol Loading
The Console Window
Debugging a Command-Line Program
Xcode and Mac OS X Debugging
Controlling Execution of Your Code
Breakpoints
Stopping on C++ Exceptions
Stopping on Core Services Debugging Functions
Stepping Through Code
Stopping and Starting Your Program in the Debugger
Examining Program Data and Information
Viewing Stack Frames
Viewing Variables in the Debugger Window
Using the Expressions Window
Viewing Disassembled Code and Processor Registers
Browsing the Contents of Memory
Shared Libraries Window
Using Fix and Continue
About the Fix Command
Using Fix and Continue
Restrictions on Using the Fix Command
Remote Debugging in Xcode
Configuring Remote Login
Creating a Shared Build Location
Configuring Your Executable for Remote Debugging
Part VII: Customizing Xcode
Customizing Key Equivalents
Customizing Command-Key Equivalents for Menu Items
Customizing Keyboard Equivalents for Other Tasks
Xcode Preferences
General Preferences
Code Sense Preferences
Building Preferences
Distributed Builds Preferences
Debugging Preferences
Key Bindings Preferences
Text Editing Preferences
Fonts & Colors Preferences
Indentation Preferences
File Types Preferences
Opening Quickly Preferences
Source Trees Preferences
SCM Preferences
Documentation Preferences
Using Scripts To Customize Xcode
Executing Shell Commands
The Startup Script and the User Scripts Menu
Menu Script Reference
Appendix A: Using CVS
The cvs and ocvs Tools
Creating a CVS Repository
Accessing a CVS Repository
Importing Projects Into a CVS Repository
Checking Out Projects From a CVS Repository
Updating a Local Project File to the Latest Version in a CVS Repository
Appendix B: Using Subversion
Installing the Subversion Software
Creating a Subversion Repository
Accessing a Subversion Repository
Importing Projects Into a Subversion Repository
Checking Out Projects From a Subversion Repository
Updating the Project File to the Latest Version in a Subversion Repository
Appendix C: Configuring Your SSH Environment
Revision History