HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
Use Xcode 6 to Craft Outstanding iOS and OS X Apps!
Xcode 6 Start to Finish will help you use Apple’s Xcode 6 tools to improve productivity, write great code, and leverage the newest iOS 8 and OS X Yosemite features, including Apple’s new Swift programming language.
Drawing on more than thirty years of experience developing for Apple platforms, and helping others do so, Fritz Anderson presents a complete best-practice workflow that reflects Xcode’s latest innovations. Through three full, sample projects, you’ll learn to integrate testing, source control, and other key skills into a high-efficiency process that works. And all sample code has been completely written in Swift, with figures and descriptions that reflect Xcode’s radically new interface.
This is the only Xcode 6 book focused on deep mastery of the tools you’ll be living with every day. Anderson reveals better ways to storyboard, instrument, build, and compile code, and helps you apply new features, ranging from Interface Builder Live Rendering to View Debugging and XCTest Performance Testing. By the time you’re finished, you’ll have all the Xcode 6 skills you need in order to develop truly exceptional software.
Coverage includes
Register your book at informit.com/register for access to this title’s downloadable code.
Acknowledgments xxiii
About the Author xxv
Introduction 1
How This Book Is Organized 1
About Versions 4
About the Code 4
Conventions 5
Part I: First Steps 7
Chapter 1: Getting Xcode 9
Before You Begin 9
Installing Xcode 10
Removing Xcode 11
Apple Developer Programs 12
Downloading Xcode 13
Additional Downloads 14
Summary 15
Chapter 2: Kicking the Tires 17
Starting Xcode 17
Hello World 19
Getting Rid of It 24
Summary 24
Chapter 3: Simple Workflow and Passive Debugging 25
Creating the Project 25
Building 29
Running 30
Simple Debugging 32
Summary 34
Chapter 4: Active Debugging 35
A Simple Test Case 35
Going Active 35
Fixing the Problem 39
Summary 43
Chapter 5: Compilation 45
Compiling 45
Dynamic Loading 52
Xcode and Clang 52
Swift 57
Compiler Products 62
Summary 66
Chapter 6: Adding a Library Target 69
Adding a Target 69
Target Membership 71
A Dependent Target 74
Summary 77
Chapter 7: Version Control 79
Taking Control 80
The State of Your Files 82
Your First Commit 84
Working with Remote Repositories 84
Merges and Conflicts 89
The Version Editor 99
Branching 102
Summary 104
Part II: The Life Cycle of an iOS Application 105
Chapter 8: Starting an iOS Application 107
Planning the App 107
Starting a New iOS Project 110
What’s in the Project 112
Summary 114
Chapter 9: An iOS Application: Model 117
Implementing the Model 117
Managed-Object Classes 123
Preparation 128
Specializing the Core Data Classes 132
Making the Model Easier to Debug 139
Summary 139
Chapter 10: An iOS Application: Controller 141
Renaming Symbols in Objective-C 141
Renaming a Class in Swift 144
Editing the View Controller 144
Live Issues and Fix-it 148
The Real Passer Rating 149
Summary 155
Chapter 11: Building a New View 157
The Next View Controller 157
Building a View 161
The Table View 174
Outlets 175
Testing the Billboard View 183
Summary 184
Chapter 12: Auto Layout in a New View 185
Why Auto Layout? 185
The Player Billboard, Revisited 186
Factoring Layout into Subviews 188
Planning Constraints 197
Two Line Counts, Two Labels 200
Constraints for Real 202
Summary 205
Chapter 13: Adding Table Cells 207
The Game Table 207
The Game Table: First Run 211
A Custom Table Cell 214
Adding Some Graphics 217
Summary 225
Chapter 14: Adding an Editor 227
The Plan 227
Adding a Modal Scene 227
The Editor View Controllers 233
Segues 239
Summary 240
Chapter 15: Unit Testing 243
The Test Navigator 244
Testing the CSV Reader 246
Testing and the Debugger 254
Adding a Test Class 256
Asynchronous Tests 260
XCTest Assertions 261
Summary 264
Chapter 16: Measurement and Analysis 265
Speed 265
XCTest and Performance 276
Memory 277
Summary 278
Chapter 17: An iOS Extension 279
Adding the Today Target 280
Designing the Widget 281
A Shared Library in a Framework 285
The Today Extension 290
Build Dependencies 294
The Result 295
Summary 296
Chapter 18: Provisioning 297
Apple Developer Programs 297
Provisioning for iOS 299
The Capabilities Editor 306
OS X Sandboxing 308
Gatekeeper and Developer ID 311
Distribution Builds 314
Summary 318
Part III: Xcode for Mac OS X 319
Chapter 19: Starting an OS X Application 321
The Goal 321
Getting Started 322
Model 325
Wiring a Menu 330
Summary 341
Chapter 20: Bindings: Wiring an OS X Application 343
Storyboard Segues in OS X 343
Building the Document Window 345
Filling the Table— Bindings 350
The Arc of League Document Data 357
Summary 371
Chapter 21: Localization 373
How Localization Works 373
Adding a Localization 374
Something Worth Localizing 376
Localizing for French 382
Localizing System Strings 398
Summary 400
Chapter 22: Bundles and Packages 401
A Simple Package: RTFD 401
Bundles 403
Application Bundles 403
The Info.plist File 405
Info.plist Keys for Applications 406
Summary 415
Chapter 23: Property Lists 417
Property List Data Types 417
Editing Property Lists 419
Other Formats 429
Specialized Property Lists 431
Summary 432
Part IV: Xcode Tasks 433
Chapter 24: Documentation in Xcode 435
Quick Help 435
Open Quickly 437
Help 438
The Documentation Window 439
Keeping Current 444
Your Own Quick Help 446
Swift and reStructuredText 456
Summary 458
Chapter 25: The Xcode Build System 459
How Xcode Structures a Build 459
Build Variables 462
Settings Hierarchy 463
Editing Build Variables 465
Configurations 466
Configuration Files 468
Command-Line Tools 471
Custom Build Rules 474
Builds in the Report Navigator 476
A Simple Build Transcript 476
Summary 487
Chapter 26: Instruments 489
What Instruments Is 489
Running Instruments 490
The Trace Document Window 492
Tracing 500
The Instruments 504
Custom Instruments 511
The Templates 512
Summary 514
Chapter 27: Debugging 515
Scheme Options 515
Doing More with Breakpoints 518
View Hierarchy 521
The lldb Command Line 523
Tips 525
Summary 528
Chapter 28: Snippets 531
Tricks 531
Traps 541
Part V: Appendixes 547
Appendix A: Some Build Variables 549
Useful Build Variables 550
Source Trees 562
Appendix B: Resources 565
Books 565
Books about Swift 566
On the Net 567
Face to Face 570
Other Software 570
Index 579