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.
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.
Covers iOS 6, Xcode 4.5+, iPhone, iPad, and More!
Figures and code appear as they do in Xcode 4.5+
In just 24 sessions of one hour each, learn how to build powerful applications for today’s hottest handheld devices: the iPhone and iPad! Using this book’s straightforward, step-by-step approach, you’ll master every skill and technology you need, from setting up your iOS development environment to building great responsive user interfaces, from sensing motion to writing multitasking applications. Each lesson 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 iOS development tasks.
Activities at the end of each chapter help you test your knowledge.
Notes present interesting information related to the discussion.
Tips offer advice or show you easier ways to perform tasks.
Cautions alert you to possible problems and give you advice on how to avoid them.
• Printed in full color
• Covers iOS 6.0 and up
• Use the new Objective-C NSArray, NSDictionary, and NSNumber Data Type shortcuts introduced in Xcode 4.5.2
• Learn to navigate the Xcode 4.5+ development environment
• Prepare your system and iDevice for efficient development
• Get started quickly with Apple’s Objective-C and Cocoa Touch
• Understand the Model-View-Controller (MVC) development paradigm
• Visually design and code interfaces using Xcode storyboards, segues, exits, and the iOS Object Library
• Use Auto Layout to adapt to different screen sizes and orientations
• Build advanced UIs with tables, split views, navigation controllers, and more
• Read and write preferences and data, and create System Settings plug-ins
• Use the iOS media playback and recording capabilities
• Take photos and manipulate graphics with Core Image
• Sense motion, orientation, and location with the accelerometer, gyroscope, and GPS
• Integrate online services using Twitter, Facebook, Email, Web Views, and Apple Maps
• Create universal applications that run on both the iPhone and iPad
• Write background-aware multitasking applications
• Trace and debug your applications as they run
Introduction 1
Who Can Become an iOS Developer? 1
Who Should Use This Book? 2
What Is (and Isn’t) in This Book? 2
Hour 1: Preparing Your System and iDevice for Development 3
Welcome to the iOS Platform 3
Becoming an iOS Developer 8
Creating and Installing a Development Provisioning Profile 15
Running Your First iOS App 19
Developer Technology Overview 22
Further Exploration 23
Summary 24
Q&A 24
Workshop 25
Activities 25
Hour 2: Introduction to Xcode and the iOS Simulator 27
Using Xcode 27
Using the iOS Simulator 56
Further Exploration 62
Summary 62
Q&A 63
Workshop 63
Activities 64
Hour 3: Discovering Objective-C: The Language of Apple Platforms 65
Object-Oriented Programming and Objective-C 65
Exploring the Objective-C File Structure 70
Objective-C Programming Basics 81
Memory Management and Automatic Reference Counting 91
Further Exploration 93
Summary 94
Q&A 94
Workshop 95
Activities 95
Hour 4: Inside Cocoa Touch 97
What Is Cocoa Touch? 97
Exploring the iOS Technology Layers 99
Tracing the iOS Application Life Cycle 105
Cocoa Fundamentals 106
Exploring the iOS Frameworks with Xcode 116
Further Exploration 122
Summary 122
Q&A 122
Workshop 123
Activities 123
Hour 5: Exploring Interface Builder 125
Understanding Interface Builder 125
Creating User Interfaces 132
Customizing the Interface Appearance 142
Connecting to Code 146
Further Exploration 156
Summary 157
Q&A 157
Workshop 158
Activities 159
Hour 6: Model-View-Controller Application Design 161
Understanding the Model-View-Controller Design Pattern 161
How Xcode Implements MVC 163
Using the Single View Application Template 167
Further Exploration 184
Summary 185
Q&A 186
Workshop 186
Activities 187
Hour 7: Working with Text, Keyboards, and Buttons 189
Basic User Input and Output 189
Using Text Fields, Text Views, and Buttons 191
Further Exploration 218
Summary 218
Q&A 219
Workshop 219
Activities 219
Hour 8: Handling Images, Animation, Sliders, and Steppers 221
User Input and Output 221
Creating and Managing Image Animations, Sliders, and Steppers 223
Further Exploration 244
Summary 245
Q&A 245
Workshop 246
Activities 246
Hour 9: Using Advanced Interface Objects and Views 247
User Input and Output (Continued) 247
Using Switches, Segmented Controls, and Web Views 252
Using Scrolling Views 268
Further Exploration 277
Summary 277
Q&A 278
Workshop 278
Activities 279
Hour 10: Getting the User’s Attention 281
Alerting the User 281
Exploring User Alert Methods 290
Further Exploration 308
Summary 309
Q&A 309
Workshop 310
Hour 11: Implementing Multiple Scenes and Popovers 311
Introducing Multiscene Storyboards 311
Understanding the iPad Popover 332
Using a Modal Segue 342
Using a Popover 355
Further Exploration 360
Summary 361
Q&A 361
Workshop 362
Activities 362
Hour 12: Making Choices with Toolbars and Pickers 363
Understanding the Role of Toolbars 363
Exploring Pickers 367
Using the Date Picker 375
Using a Custom Picker 391
Further Exploration 406
Summary 407
Q&A 407
Workshop 408
Activities 408
Hour 13: Advanced Storyboards Using Navigation and Tab Bar Controllers 409
Advanced View Controllers 409
Exploring Navigation Controllers 411
Understanding Tab Bar Controllers 417
Using a Navigation Controller 422
Using a Tab Bar Controller 433
Further Exploration 443
Summary 444
Q&A 445
Activities 446
Hour 14: Navigating Information Using Table Views and Split View Controllers 447
Understanding Tables 447
Exploring the Split View Controller (iPad Only) 456
A Simple Table View Application 459
Creating a Master-Detail Application 469
Further Exploration 487
Summary 487
Q&A 488
Workshop 488
Activities 488
Hour 15: Reading and Writing Application Data 489
iOS Applications and Data Storage 489
Data Storage Approaches 492
Creating Implicit Preferences 500
Implementing System Settings 508
Implementing File System Storage 520
Further Exploration 528
Summary 529
Q&A 530
Activities 530
Hour 16: Building Responsive User Interfaces 533
Responsive Interfaces 533
Using Auto Layout 538
Programmatically Defined Interfaces 555
Swapping Views on Rotation 562
Further Exploration 569
Summary 569
Q&A 569
Workshop 570
Activities 570
Hour 17: Using Advanced Touches and Gestures 571
Multitouch Gesture Recognition 571
Adding Gesture Recognizers 572
Using Gesture Recognizers 574
Further Exploration 595
Summary 596
Q&A 596
Workshop 596
Activities 597
Hour 18: Sensing Orientation and Motion 599
Understanding Motion Hardware 599
Accessing Orientation and Motion Data 602
Sensing Orientation 606
Detecting Tilt and Rotation 611
Further Exploration 622
Summary 623
Q&A 623
Workshop 624
Activities 624
Hour 19: Working with Rich Media 625
Exploring Rich Media 625
The Media Playground Application 640
Further Exploration 668
Summary 669
Q&A 670
Workshop 670
Hour 20: Interacting with Other Applications 673
Extending Application Integration 673
Using the Address Book, Email, Social Networking, and Maps 686
Further Exploration 703
Summary 704
Q&A 704
Workshop 704
Activities 705
Hour 21: Implementing Location Services 707
Understanding Core Location 707
Creating a Location-Aware Application 714
Using the Magnetic Compass 724
Further Exploration 733
Summary 734
Q&A 734
Workshop 735
Activities 735
Hour 22: Building Background-Aware Applications 737
Understanding iOS Backgrounding 737
Disabling Backgrounding 742
Handling Background Suspension 743
Implementing Local Notifications 745
Using Task-Specific Background Processing 748
Completing a Long-Running Background Task 755
Further Exploration 760
Summary 760
Q&A 761
Workshop 761
Activities 762
Hour 23: Building Universal Applications 763
Universal Application Development 763
Creating a Universal Application (Take 1) 767
Creating a Universal Application (Take 2) 772
Using Multiple Targets 776
Further Exploration 778
Summary 779
Q&A 779
Workshop 780
Activities 780
Hour 24: Application Tracing and Debugging 781
Instant Feedback with NSLog 781
Using the Xcode Debugger 784
Further Exploration 799
Summary 800
Q&A 800
Workshop 800
Activities 801
Index 803