This book will give you a thorough grounding in the principal and supporting tools and technologies that make up the Xcode developer tools suite. Apple has provided a comprehensive collection of developer tools, and this is the first book to examine the complete Apple programming environment for both Mac OS X and iPhone. Comprehensive coverage of all the Xcode developer tools Additional coverage of useful third-party development tools Not just a survey of features, but a serious examination of the complete development process for Mac OS X and iPhone applications Prelim......Page 1 Contents at a Glance......Page 6 Contents......Page 7 About the Author......Page 12 About the Technical Reviewer......Page 13 Acknowledgements......Page 14 Preface......Page 15 Software Development Choices for the Mac Programmer......Page 17 Why You Should Develop Using Xcode Tools......Page 18 Xcode, Cocoa, and Objective-C......Page 19 The Apple Xcode Developer Tools Family......Page 20 What You’ll Find in This Book......Page 21 Summary......Page 22 Part 1: The Core Xcode Toolset......Page 23 Getting and Installing Xcode Developer Tools......Page 25 Installation Location......Page 26 Custom Installation Options......Page 27 Getting to Know the Xcode Workspace......Page 28 The Xcode Workspace Working Environment......Page 33 Implementation Files and NIB Files......Page 34 Xcode Workspace Preferences......Page 42 Summary......Page 46 Professional User Interface Design—and More—for Your Xcode Projects......Page 47 Getting to Know the Interface Builder Environment......Page 48 Customizing the Layout......Page 57 Connecting the Pieces......Page 58 Creating a Document-Based Application......Page 67 Summary......Page 75 First Things First: What You Need to Develop iPhone Software......Page 77 Getting and Installing the SDK......Page 78 Writing a Simple iPhone Application......Page 79 Summary......Page 93 A Short Tour of the Frameworks......Page 95 Using Frameworks in Applications......Page 97 Choosing a Data Store......Page 112 Understanding MVC......Page 125 The Simplest Example......Page 126 A More Complex Example......Page 128 Summary......Page 133 The Debugger and Console Views......Page 135 Creating a Project to Debug......Page 136 Running and Debugging the Project......Page 140 Exploring the Debugger......Page 149 Summary......Page 154 Quick Help......Page 155 ADC Documentation......Page 157 Third-Party Online Resources......Page 163 Other Sources of Information......Page 164 Creating Your Own Developer Documentation......Page 165 Summary......Page 174 Defining the Problem......Page 175 Designing the Application......Page 176 The Core Data Entity Interface Assistant......Page 182 Developing the User Interface......Page 184 Tidying Up and Adding the Extra Buttons......Page 188 Creating the Secondary Windows......Page 190 Configuring the Search Capabilities......Page 192 Displaying the Full Name in One Field......Page 194 Displaying the Total Amount Earned Across the Journal Entries......Page 198 Looking Back and Looking Forward......Page 200 Part 2: Enhancing Development with Companion Tools......Page 201 Source-Code Management with Subversion......Page 203 Introduction to Subversion......Page 204 Using a Single Repository......Page 206 Using Individual Repositories......Page 207 Installing a Local Subversion Server......Page 208 Using an Online Subversion Server......Page 220 Summary......Page 221 Introducing Unit Testing......Page 223 Unit Testing in Practice......Page 225 What Should You Test?......Page 233 Making Your Test Suite More Efficient......Page 236 Where to Go Next......Page 237 Summary......Page 240 Instruments......Page 241 Create the Application......Page 242 Building the Interface......Page 243 Monitoring the Application in Instruments......Page 244 Analyzing the Memory Leaks......Page 246 Shark......Page 252 BigTop......Page 256 Spin Control......Page 258 Summary......Page 260 Part 3: Supporting Tools......Page 261 Icon Composer......Page 263 Pixie......Page 270 FileMerge......Page 272 Property List Editor......Page 275 Adding Help Functionality......Page 277 Summary......Page 285 Usability and Accessibility......Page 287 Overview of Usability......Page 288 Usability Considerations for Mac OS X......Page 290 Special Usability Considerations for iPhone Program Design......Page 295 Accessibility in Mac OS X......Page 296 Keyboard Operation......Page 297 Summary......Page 304 Build Configurations—From Debug to Release......Page 305 Using a Disk Image......Page 306 Starting PackageMaker......Page 311 Adding Content......Page 312 Package Content Configuration......Page 313 Package Content Ownership......Page 314 Offering Choices for Custom Installations......Page 315 Package-Level Configuration......Page 316 Polishing the Interface......Page 318 Distributing your iPhone Application......Page 321 Information Gathering......Page 323 Registration and Information Generation......Page 325 Summary......Page 329 ¦ A......Page 331 ¦ B......Page 332 ¦......Page 333 ¦ E......Page 335 ¦ H......Page 336 ¦......Page 337 ¦ N......Page 338 ¦ O......Page 339 ¦ R......Page 340 ¦ S......Page 341 ¦ T......Page 342 ¦......Page 343 ¦ X......Page 344
This book will give you a thorough grounding in the principal and supporting tools and technologies that make up the Xcode developer tools suite. Apple has provided a comprehensive collection of developer tools, and this is the first book to examine the complete Apple programming environment for both Mac OS X and iPhone.
- Comprehensive coverage of all the Xcode developer tools
- Additional coverage of useful third-party development tools
- Not just a survey of features, but a serious examination of the complete development process for Mac OS X and iPhone applications
What youâll learn- The book is holistic, providing a comprehensive sweep across the available development tools.
- The book is structured, taking a logical and progressive journey from the basics to a firm understanding of the purposes, benefits, and limitations of each component of Xcodeâs developer tools.
- The tone is friendly and accessible-we wouldnât have it any other way.
- The book fills a niche-there is no other single book that focuses on this collection of developer tools.
Who this book is forAll Mac OS X and iPhone developers who want to develop applications more efficiently by taking advantage of all the tools Apple offers in its Xcode suite, as well as many indispensable third-party tools.
Table of Contents
- Introducing Xcode Tools for Mac OS X and the iPhone
- Introducing the Xcode Workspace 9 Interface Builder
- Core iPhone Tools
- Frameworks in Xcode
- Model-View-Controller in Xcode
- Debugging Your Xcode Projects
- Xcode Documentation
- Developing an Application
- Source-Code Management with Subversion
- Unit Testing in Xcode
- Monitoring, Analysis, and Performance Tools
- Support Tools for the Busy Developer
- Usability and Accessibility
- Packaging and Distribution
Introducing Xcode tools for Mac OS X and the iPhone Introducing the Xcode workspace Interface builder Core iPhone tools Frameworks in Xcode Model-view-controller in Xcode Debugging your Xcode projects Xcode documentation Developing an application Source-code management with subversion Unit testing in Xcode Monitoring, analysis, and performance tools Support tools for the busy developer Usability and accessibility Packaging and distribution.