Avoid header ambiguity, disappearing links, and other Xcode development pitfalls
Introduction 1
Part I: The Life Cycle of a Mac OS X Application
Chapter 1: Kicking the Tires 11
Chapter 2: Simple Workflow and Passive Debugging 19
Chapter 3: Simple Active Debugging 29
Chapter 4: Compilation: The Basics 39
Chapter 5: Starting a Cocoa Application 47
Chapter 6: A Cocoa Application: Views 63
Chapter 7: A Cocoa Application: Controllers 75
Chapter 8: Version Control 93
Chapter 9: Property Lists 117
Chapter 10: Libraries and Dependent Targets 141
Chapter 11: File Packages and Bundles 153
Chapter 12: Unit Testing 167
Chapter 13: Creating a Custom View 181
Chapter 14: Dynamic Libraries and Frameworks 203
Chapter 15: Documentation in Xcode 221
Chapter 16: Using the Data Modeling Tools 243
Chapter 17: Cross-Development 267
Chapter 18: Spotlight (or, How to Build a Plug-in) 281
Chapter 19: Finishing Touches 301
Part II: Xcode Tasks
Chapter 20: Navigating an Xcode Project 331
Chapter 21: Xcode for make Veterans 353
Chapter 22: More About Debugging 373
Chapter 23: Xcode and Speed 395
Chapter 24: A Legacy Project 403
Chapter 25: Shark and the CHUD Tools 421
Chapter 26: Instruments 437
Chapter 27: Closing Snippets 461
Appendices
Appendix A: Some Build Variables 475
Appendix B: Project and Target Templates 485
Appendix C: Other Resources 501
Index 507
About The Author
Fritz Anderson has been writing software, books, and articles for the Macintosh since 1984. He has worked for research and development firms, consulting practices, and freelanced. He has been admitted to the Indiana bar but thought better of it. He now lives in Chicago, where he works for a large university.
Reader Reviews
I started this book, hoping to get a quick, friendly glimpse into how to use the new IDE and how to use Objective-C. I know that the book made no promises about to use ObjC, but I felt confident in my abilities to pick up the language itself. An introduction to the IDE was all I felt would be needed, so long as the use of the IDE also included early solid examples of ObjC and Xcode. What I found early was a unwieldy example of cobbling together an interface and using a command line binary as the core of the executable. While nice, I didn't think this was necessary as an introductory example for a few reasons. One, it doesn't make mention early on about generic programming for common cases. Writing that command line app, then using pipes to get input to, and output from, this seemed unnecessarily advanced and esoteric. Two, some of the language was a bit abrupt and harsh, and some passages were brief and exclusionary. Lastly, the approaches used in that early example seemed to break with the more strict Model-View-Controller design pattern that is strongly encouraged for OS X development. To start with something that seems like an uncommon situation was not my take on a good start to proper future development. Maybe this book is more suited to developers of older versions of Xcode, but for a beginner, I recommend starting elsewhere. Cocoa(R) Programming for Mac(R) OS X (3rd Edition)