did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780321334220

Step into Xcode : Mac OS X Development

by
  • ISBN13:

    9780321334220

  • ISBN10:

    0321334221

  • Format: Paperback w/CD
  • Copyright: 2006-01-01
  • Publisher: Addison-Wesley Professional
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $54.99

Summary

An introduction and complete guide to Xcode, this is the first book that any new Mac programmer will want by their side.

Table of Contents

Prefacep. xvii
The Life Cycle of a Mac OS X Applicationp. 1
Kicking the Tiresp. 3
First Runp. 3
Hello, Worldp. 4
What Went Wherep. 9
Summaryp. 10
Simple Workflow and Passive Debuggingp. 11
Linear Regressionp. 11
Plan of Actionp. 13
A Command Line Toolp. 14
Build Errorsp. 15
Simple Debuggingp. 18
Summaryp. 21
Simple Active Debuggingp. 23
The Next Stepp. 23
Active Debuggingp. 24
Summaryp. 31
Compilation: The Basicsp. 33
Compilingp. 33
Linkingp. 36
Dynamic Loadingp. 38
Prebindingp. 39
ZeroLinkp. 40
Summaryp. 42
Starting a Cocoa Applicationp. 43
Plan of Actionp. 43
Program Tasksp. 43
Model-View-Controllerp. 43
Starting a New Projectp. 48
Implementation: Modelp. 50
DataPointp. 50
Regression Model Classp. 54
Model: Donep. 58
Summaryp. 60
A Cocoa Application: Viewsp. 61
Interface Builderp. 62
Layoutp. 63
Sizingp. 67
A Split Viewp. 71
Summaryp. 71
A Cocoa Application: Controllersp. 73
Still in Interface Builderp. 73
NSObjectController: Documentp. 75
NSObjectController: Modelp. 77
NSArrayController: DataPointsp. 78
Value Bindingp. 80
Actions and Outletsp. 81
MyDocumentp. 82
Application Propertiesp. 84
Buildingp. 87
Summaryp. 87
Property Listsp. 89
Data Typesp. 89
Property List Filesp. 90
Writing a Property Listp. 90
Examining Property Listsp. 100
Other Formatsp. 100
ASCII Property Listsp. 106
Binary Property Listsp. 107
Text Macrosp. 107
Summaryp. 113
Libraries and Dependent Targetsp. 115
Adding a Targetp. 115
Library Designp. 116
Modifying Linearp. 121
A Dependent Targetp. 123
Examining the Libraryp. 125
Running the Libraryp. 127
Summaryp. 128
File Packages and Bundlesp. 129
A Simple Package: RTFDp. 130
Bundlesp. 132
Application Bundlesp. 132
The Info.plist Filep. 134
Keys for All Bundlesp. 135
Keys for Applicationsp. 136
Keys for Plug-Insp. 138
Keys for Javap. 139
Keys for Preference Panesp. 139
Keys for Dashboard Widgetsp. 139
Summaryp. 140
Creating a Custom Viewp. 141
Controllerp. 141
Viewp. 143
The Delegate Design Patternp. 146
The Custom Viewp. 149
Showing the Windowp. 156
Testingp. 157
Debugging a Viewp. 159
Summaryp. 163
Dynamic Libraries and Frameworksp. 165
Adding a Framework Targetp. 166
Framework Structurep. 171
Using the Frameworkp. 173
Where Frameworks Gop. 175
Private Frameworksp. 179
Prebindingp. 181
Summaryp. 182
Version Controlp. 183
Setting up a Repositoryp. 185
Controlling Linearp. 191
Long Live Linearp. 194
Taggingp. 195
Summaryp. 198
Cross-Developmentp. 199
Cross-Development SDKsp. 199
Nib Compatibilityp. 203
NSTableDataSourcep. 205
Add, Remove, Compute, and Graph Buttonsp. 208
Run and Archivep. 211
A More Sophisticated Approachp. 212
Producing a Universal Binaryp. 212
Auditing for Portabilityp. 213
Auditing Linearp. 214
Building Universalp. 217
Mixing SDKsp. 218
Summaryp. 219
Using the Data Modeling Toolsp. 221
Data Modelingp. 221
Revisiting the Modelp. 224
DataPointp. 225
Regressionp. 228
MyDocumentp. 232
Interface Builderp. 234
Build and Runp. 235
Adding an Entityp. 237
Adding to the Data Modelp. 237
Human Interfacep. 238
First Runp. 240
One More Tablep. 241
Summaryp. 242
Spotlightp. 243
How Data Gets into Spotlightp. 243
Uniform Type Identifiersp. 246
The Metadata Plug-Inp. 249
MetaLinear Project Filesp. 249
Packaging the Plug-Inp. 254
Core Data and Metadatap. 254
The Proof of the Puddingp. 258
Summaryp. 261
Finishing Touchesp. 263
Trimming the Menusp. 263
Avoiding Singularityp. 264
Localizationp. 266
Credits.rtfp. 266
MainMenu.nibp. 267
MyDocument.nibp. 267
GraphWindow.nibp. 269
InfoPlist.stringsp. 270
Trying It Outp. 271
Localizable.stringsp. 272
Checking Memory Usagep. 274
The Release Build Configurationp. 276
Dead-Code Strippingp. 278
Xcodebuildp. 279
Summaryp. 281
Xcode Tasksp. 283
Navigating an Xcode Projectp. 285
Editor Panesp. 285
Jumpsp. 285
Code Sensep. 286
Navigation Barp. 287
Editor Modesp. 289
Project Find Windowp. 290
The Favorites Barp. 291
Groups & Files Listp. 292
The Project Groupp. 292
The Targets Groupp. 294
The Executables Groupp. 296
Smart Groupsp. 297
Symbol Smart Groupp. 298
Class Browser Windowp. 299
Class Modelerp. 299
Project Layoutp. 302
Default Layoutp. 302
All-in-One Layoutp. 303
Condensed Layoutp. 305
Summaryp. 306
Xcode for CodeWarrior Veteransp. 307
Lossesp. 307
Speedp. 307
Syntax Coloringp. 308
Debugging Templatesp. 308
RAD Toolsp. 309
Make Yourself at Homep. 309
The Project Windowp. 309
Key Mappingp. 311
Build Behaviorp. 312
Window Behaviorp. 313
Converting a CodeWarrior Projectp. 314
Importing the Projectp. 315
Targets and Configurationsp. 315
Traps in Conversionp. 319
Exporting Symbolsp. 320
#pragma exportp. 320
Another Wayp. 322
Summaryp. 323
Xcode for make Veteransp. 325
Xcode Build Variablesp. 327
Custom Build Rulesp. 328
Run Script Build Phasep. 330
Under the Hood: A Simple Buildp. 331
Copy Structural Filesp. 332
Copy Bundle Resourcesp. 333
Compile Sourcesp. 333
Linkage (First Architecture)p. 336
Compile Sources (Second Architecture)p. 336
Linkage (Second Architecture)p. 337
Create Universal Binaryp. 337
Compile Data Modelsp. 338
Finishing Touchp. 339
The xcodebuild Toolp. 339
Settings Hierarchyp. 340
Build Configurationsp. 342
Summaryp. 344
More About Debuggingp. 345
Debugging Techniquesp. 345
Printing Valuesp. 348
Custom Formattersp. 349
Breakpoint Commandsp. 352
Breakpoint Conditionsp. 354
Lazy Symbol Loadingp. 355
Zombiesp. 356
Released-Pointer Aliasingp. 357
Zombies in Cocoap. 359
Zombies in Core Foundationp. 360
Summaryp. 361
Xcode and Speedp. 363
Precompiled Headersp. 363
Predictive Compilationp. 364
Distributed Buildsp. 365
ZeroLinkp. 366
Project Indexingp. 367
Summaryp. 368
AppleScript Studiop. 369
An AppleScript Applicationp. 369
Unit Testingp. 377
Adding OCUnitp. 378
Test Casesp. 379
Testing Optionsp. 383
Summaryp. 383
A Large Projectp. 385
Graphvizp. 386
Preparing the Projectp. 386
An External Build Projectp. 389
Debugging a Custom Executablep. 393
Performancep. 396
A Better Way to Include Filesp. 400
The Scriptp. 401
Building the Project Indexp. 404
Compromising with AppleScriptp. 405
Summaryp. 405
Closing Snippetsp. 407
Miscellaneous Trapsp. 407
Miscellaneous Tipsp. 409
Documentationp. 413
The Documentation Windowp. 414
Documentation Updatesp. 416
Installing Xcodep. 417
Apple Developer Connectionp. 419
Downloading from ADCp. 420
Setting up the Dockp. 420
Some Build Variablesp. 423
Useful Build Variablesp. 423
Splitting Build Variablesp. 429
Source Treesp. 430
Glossaryp. 433
Indexp. 441
Table of Contents provided by Ingram. All Rights Reserved.

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Excerpts

From the moment it first published Mac OS X, Apple Computer has made a complete suite of application-development tools available to every Macintosh user. Since Mac OS X version 10.3, those tools have been led by Xcode, the development environment that Apple's engineers use to develop system software and such applications as Safari, iTunes, Mail, and iChat. These same tools are in your hands. A solid text editor with syntax coloring and API-based code completion The industry-standard gcccompiler suite A graphical, interactive debugger based on the GNU debugger (gdb) A mature human interface (UI) layout and object-linkage editor for Carbon and Cocoa Tools for gaining detailed insights into optimizing performance Audience I wrote this book for three types of readers. 1. Newcomers curious about the world of Mac OS X development 2. Experienced UNIX-family operating systems users who want an introduction to the Mac OS X tool set 3. Xcode users wanting to supplement their techniques Step into Xcodewill not attempt to teach programming, a programming language, or any of the Mac OS X programming frameworks; good books on those subjects have already been written. My aim is to focus squarely on using the Xcode tool set. Most of the book uses one example project--not as a showcase for the programming techniques involved but as a framework for how to do Mac development with these tools. The CD-ROM accompanying this book provides the complete project directory--bugs and all!--for each chapter. Many of the examples in this book follow the progress of an application project that begins with a UNIX command line tool and progresses to a Core Data-based application with Spotlight support. As you follow along, you won't have to peck out every file and setting yourself. The CD-ROM directory, Examples, includes a copy of the project at every major stage of development--at least one version for each chapter. You can simply copy the current example project to your hard drive; the only errors are the ones I made deliberately. Structure of the Book Step into Xcodeis divided into two parts. Part I introduces Xcode and Mac OS X development against the background of developing a simple application from a BSD command line tool to a Tiger-savvy Cocoa application taking advantage of Core Data and Spotlight. Chapter 1 introduces Xcode with the obligatory "Hello, World" demonstration. Chapter 2 demonstrates the typical Xcode workflow by building a command line tool that will form the heart of the application we'll be building throughout Part I. Chapter 3 moves from passive use of the Xcode debugger to active use, interrupting program flow to examine the workings of a flawed application. Chapter 4 shows what happens in compilation and linkage, both generally and in Mac OS X. Chapters 5, 6, and 7 wrap our command line tool in a Cocoa graphical interface. The Model-View-Controller design pattern is matched to the tools Xcode provides to implement it. Chapter 8 focuses on property lists, a must-know subject in Mac OS X development, and shows how to create text macros for Xcode. Chapter 9 moves our command line tool into a static library, showing how to build such a library and how to integrate a dependent target with Xcode's build system. Chapter 10 examines bundles and package directories. Most of the targets Xcode can produce are varieties of bundles. We look at the ubiquitous Info.plist file. Chapter 11 develops techniques for creating custom view classes for Cocoa and shows how the development tools support them. Chapter 12 extends the odyssey of our library from library to framework, showing how to package a dynamic library and its headers for sharing or for embedding in an application. Chapter 13 surveys the Xcode options

Rewards Program