SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
Register your product to gain access to bonus material or receive a coupon.
In just 24 sessions of one hour or less, Sams Teach Yourself Xcode 4 in 24 Hours will help you achieve breakthrough productivity with Apple’s new Xcode 4.3+ development environment for OS X and iOS devices. Every lesson introduces new concepts and builds on what you’ve already learned, giving you a rock-solid foundation for real-world success!
Step-by-step instructions carefully walk you through the most common Xcode 4 development tasks.
Quizzes and Exercises at the end of each chapter help you test your knowledge.
By the Way notes present interesting information related to the discussion.
Did You Know? tips offer advice or show you easier ways to perform tasks.
Watch Out! cautions alert you to possible problems and give you advice on how to avoid them.
Printed in full color–figures and code appear as they do in Xcode 4.3+
Download the sample pages (includes Chapter 6 and Index)
Introduction 1
HOUR 1: Xcode 4 3
Welcome to Xcode 3
The Apple Developer Programs 8
Installing the Xcode Developer Tools 11
The Nickel Tour 13
Preparing Your iOS Device (Optional) 17
Summary 20
Q&A 20
Workshop 21
HOUR 2: Just Enough Objective-C and Cocoa 23
Object-Oriented Programming and Objective-C 23
What Is Objective-C? 25
Objective-C Programming Basics 38
Memory Management and Automatic Reference Counting 48
What Is Cocoa? 50
Cocoa Versus Cocoa Touch 51
Summary 54
Q&A 55
Workshop 55
HOUR 3: Understanding the MVC Design Pattern 57
Development, Design Patterns, and MVC 57
How Xcode Implements MVC 60
An MVC Walkthrough 64
Summary 68
Q&A 68
Workshop 69
HOUR 4: Using Xcode Templates to Create Projects 71
Available Project Types 71
The Project-Creation Process 83
You’ve Got a Project 88
Summary 91
Q&A 91
Workshop 92
HOUR 5: Managing Projects and Resources 95
Getting Your Bearings 95
Managing Project Files 99
Managing Frameworks and Libraries 108
Managing Groups 110
Managing Target Properties 111
Summary 114
Q&A 115
Workshop 115
HOUR 6: Using the Xcode Source Editor 117
Understanding Editor Basics 117
Navigating Within and Between Files 126
Using the Assistant Editor 131
Correcting Errors and Warnings in the Issue Navigator 133
Refactoring Code 135
Using Code Snippets 138
Summary 142
Q&A 142
Workshop 142
HOUR 7: Working with the Xcode 4 Documentation 145
Overview of Documentation Resources 145
Configuring the Xcode Documentation Downloads 148
Understanding the Documentation Resources 149
Using the Xcode Help Viewer 155
Using the Quick Help Assistant 158
Summary 161
Q&A 162
Workshop 162
HOUR 8: Creating User Interfaces 165
What Is Interface Builder? 165
The Anatomy of an Interface Builder File 168
Creating User Interfaces 174
Working with the IB Layout Tools 177
Customizing Interface Appearance 188
Setting Object Identities 191
Adding Custom Objects to Interface Builder 192
Summary 193
Q&A 193
Workshop 194
HOUR 9: Connecting a GUI to Code 195
Outlet, Actions, and Properties: A Review 195
Making Connections to Outlets and Actions 197
Writing Connection Code with Interface Builder 205
Summary 211
Q&A 212
Workshop 212
HOUR 10: Creating iOS Application Workflows with Storyboards 215
The Power of Storyboards 215
Storyboard Terminology 216
The Anatomy of a Multiscene Project 218
Making Advanced Segues 230
A Navigation Storyboard Example 239
Summary 248
Q&A 249
Workshop 249
HOUR 11: Building and Executing Applications 251
The Language of the Build 251
Managing Targets 257
Managing Schemes 264
Using the iOS Simulator 271
Summary 276
Q&A 277
Workshop 277
HOUR 12: Using Source Control 279
Using Xcode Snapshots 279
A Brief Introduction to Source Control Systems 283
Working with Subversion and Git Repositories 285
Managing a Project in Source Control 296
Summary 307
Q&A 308
Workshop 308
HOUR 13: Xcode-Supported Languages 311
Choosing the Right Language 312
Built-In Languages 313
Adding Support for Other Languages 322
Summary 325
Q&A 326
Workshop 326
HOUR 14: Planning for Reuse: Frameworks and Libraries 329
Understanding Frameworks 329
Deploying a Framework 348
Reusing Code from Existing C/C++ Libraries 349
Summary 352
Q&A 352
Workshop 353
HOUR 15: Putting It All Together: Building an OS X Application 355
Getting Started 356
Creating the Interface 359
Attaching Code 364
Inserting Interface Object References into the Code 369
Tying Things Together 373
Increasing Functionality with a Framework 376
Summary 395
Q&A 396
Workshop 396
HOUR 16: Building an iOS Application 399
Assessing What You Already Have 400
Building from the Template 403
Adding a Static Library Target 404
Updating Application Logic and Library Calls for iOS 414
Summary 430
Q&A 431
Workshop 432
HOUR 17: Attaching Big Data: Using Core Data in Your Applications 435
Introducing Core Data 435
Using the Xcode Core Data Model Editor 438
Binding a Data Model to a User Interface 446
Accessing Data Through Code 458
Summary 462
Q&A 463
Workshop 463
HOUR 18: Test Early, Test Often 465
Adding Unit Tests to an Existing Application 466
Implementing Tests for Existing Code 472
Accessing the Rest of an Application Through the Bundle Loader 480
Summary 483
Q&A 484
Workshop 485
HOUR 19: Getting the Bugs Out 487
Getting Started with the Debugger 488
Proactive Debugging 493
Working with Breakpoints 497
Summary 506
Q&A 506
Workshop 507
HOUR 20: Keeping Things Organized: Shared Workspaces 509
Using Workspaces 510
Creating a Workspace 515
Adding Projects to the Workspace 517
Configuring the OS X Project to Work in the Workspace 519
Configuring the iOS Project to Work in the Workspace 524
Summary 530
Q&A 531
Workshop 531
HOUR 21: Advanced: Analyzing Code with Instruments 533
The Instruments Interface 534
Using Instruments 536
Additional Runs 541
Collecting Data from Additional Instruments Simultaneously 543
Summary 545
Q&A 546
Workshop 546
HOUR 22: Managing and Provisioning iOS Devices 549
Creating an iOS Distribution Certificate 550
Creating an App ID 556
Creating a Distribution Provisioning Profile 560
Summary 563
Q&A 564
Workshop 565
HOUR 23: Distributing Your Applications 567
Finalizing Your Distribution Build 568
Configuring an iTunes Connect Application Record 576
Distributing Your Archived Application 578
Summary 583
Q&A 583
Workshop 584
HOUR 24: Xcode CLI Utilities 587
Using xcode-select 588
Using xcodebuilid 590
Using xcrun 595
Other Xcode Command-Line Tools 598
Bigger and Better Command-Line Uses 599
Summary 600
Q&A 600
Workshop 602
Index 603