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 9.1 and up, Xcode 7.x, iPhone, iPad, and More!
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 user interfaces, 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.
Quizzes and Exercises help you test your knowledge.
Notes present interesting information related to the discussion.
Tips 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—figures and code appear as they do in Xcode 7.x
• Learn to navigate the Xcode 7.x development environment and install apps on your iDevice
• Get started quickly with Apple’s Open Source language: Swift 2.0
• Test code and application logic using the iOS Playground
• Understand the Model-View-Controller (MVC) development pattern
• Visually design and code interfaces using Xcode Storyboards, Segues, Exits, Image Slicing, and the iOS Object Library
• Use Auto Layout and Size Classes 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 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
• Use 3D touch to add Peek, Pop, and Quick Actions to your apps
• 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, debug, and monitor applications as they run
• Additional files and updates available online
Introduction 1
Who Can Become an iOS Developer? 2
Who Should Use This Book? 2
What Is (and Isn’t) in This Book? 3
Hour 1: Preparing Your System and iDevice for Development 5
Welcome to the iOS 5
Becoming an iOS Developer 10
Running an iOS App 15
Developer Technology Overview 22
Further Exploration 24
Summary 24
Q&A 24
Workshop 25
Activities 27
Hour 2: Introduction to Xcode and the iOS Simulator 29
Using Xcode 29
Using the iOS Simulator 61
Further Exploration 69
Summary 69
Q&A 69
Workshop 70
Activities 72
Hour 3: Discovering Swift and the iOS Playground 73
Object-Oriented Programming and Swift 73
The Terminology of Object-Oriented Development 75
Exploring the Swift File Structure 78
Swift Programming Basics 84
Memory Management and Automatic Reference Counting 110
Introducing the iOS Playground 111
Further Exploration 118
Summary 119
Q&A 119
Workshop 120
Activities 122
Hour 4: Inside Cocoa Touch 123
What Is Cocoa Touch? 123
Exploring the iOS Technology Layers 125
Tracing the iOS Application Life Cycle 132
Cocoa Fundamentals 134
Exploring the iOS Frameworks with Xcode 142
Further Exploration 149
Summary 149
Q&A 150
Workshop 150
Activities 153
Hour 5: Exploring Interface Builder 155
Understanding Interface Builder 155
Creating User Interfaces 162
Customizing the Interface Appearance 172
Connecting to Code 178
Further Exploration 188
Summary 189
Q&A 189
Workshop 190
Activities 192
Hour 6: Model-View-Controller Application Design 193
Understanding the MVC Design Pattern 193
How Xcode Implements MVC 195
Using the Single View Application Template 200
Further Exploration 218
Summary 218
Q&A 219
Workshop 219
Activities 222
Hour 7: Working with Text, Keyboards, and Buttons 223
Basic User Input and Output 223
Using Text Fields, Text Views, and Buttons 225
Further Exploration 253
Summary 254
Q&A 255
Workshop 255
Activities 257
Hour 8: Handling Images, Animation, Sliders, and Steppers 259
User Input and Output 259
Creating and Managing Image Animations, Sliders, and Steppers 261
Further Exploration 285
Summary 285
Q&A 286
Workshop 286
Activities 289
Hour 9: Using Advanced Interface Objects and Views 291
User Input and Output (Continued) 291
Using Switches, Segmented Controls, and Web Views 298
Using Scrolling and Stack Views 315
Further Exploration 324
Summary 325
Q&A 325
Workshop 326
Activities 328
Hour 10: Getting the User’s Attention 329
Alerting the User 329
Exploring User Alert Methods 340
Further Exploration 355
Summary 355
Q&A 356
Workshop 356
Activities 359
Hour 11: Implementing Multiple Scenes and Popovers 361
Introducing Multiscene Storyboards 362
Using Segues 388
Popovers, Universal Applications, and iPhones 402
Further Exploration 407
Summary 408
Q&A 408
Workshop 409
Activities 411
Hour 12: Making Choices with Toolbars and Pickers 413
Understanding the Role of Toolbars 413
Exploring Pickers 416
Using the Date Picker 424
Using a Custom Picker 437
Further Exploration 452
Summary 453
Q&A 453
Workshop 454
Activities 456
Hour 13: Advanced Storyboards Using Navigation and Tab Bar Controllers 457
Advanced View Controllers 457
Exploring Navigation Controllers 459
Understanding Tab Bar Controllers 464
Using a Navigation Controller 470
Using a Tab Bar Controller 481
Further Exploration 490
Summary 491
Q&A 492
Workshop 492
Activities 495
Hour 14: Navigating Information Using Table Views and Split View Controllers 497
Understanding Tables 497
Exploring the Split View Controller 506
A Simple Table View Application 509
Creating a Master-Detail Application 519
Further Exploration 533
Summary 534
Q&A 534
Workshop 535
Activities 537
Hour 15: Reading and Writing Application Data 539
iOS Applications and Data Storage 539
Data Storage Approaches 542
Creating Implicit Preferences 551
Implementing System Settings 558
Implementing File System Storage 571
Further Exploration 579
Summary 579
Q&A 580
Workshop 580
Activities 583
Hour 16: Building Responsive User Interfaces 585
Responsive Interfaces 585
Using Auto Layout 590
Programmatically Defined Interfaces 615
Further Exploration 622
Summary 622
Q&A 622
Workshop 623
Activities 625
Hour 17: Using Advanced Touches and Gestures 627
Multitouch Gesture Recognition 627
3D Touch Peek and Pop 630
Using Gesture Recognizers 633
Implementing 3D Touch Gestures 654
Further Exploration 658
Summary 659
Q&A 660
Workshop 660
Activities 662
Hour 18: Sensing Orientation and Motion 663
Understanding Motion Hardware 663
Accessing Orientation and Motion Data 666
Sensing Orientation 670
Detecting Acceleration, Tilt, and Rotation 675
Further Exploration 687
Summary 688
Q&A 688
Workshop 688
Activities 691
Hour 19: Working with Rich Media 693
Exploring Rich Media 693
The Media Playground Application 709
Further Exploration 736
Summary 737
Q&A 737
Workshop 738
Activities 741
Hour 20: Interacting with Other iOS Services 743
Extending iOS Service Integration 743
Using Contacts, Email, Social Networking, Safari, and Maps 761
Further Exploration 776
Summary 777
Q&A 777
Workshop 777
Activities 780
Hour 21: Implementing Location Services 781
Understanding Core Location 781
Creating a Location-Aware Application 789
Using the Magnetic Compass 799
Further Exploration 808
Summary 809
Q&A 809
Workshop 809
Activities 812
Hour 22: Building Background-Ready Applications 813
Understanding iOS Backgrounding 813
Disabling Backgrounding 821
Handling Background Suspension 823
Implementing Local Notifications 824
Using Task-Specific Background Processing 828
Completing a Long-Running Background Task 833
Performing a Background Fetch 839
Adding 3D Touch Quick Actions 844
Further Exploration 848
Summary 848
Q&A 848
Workshop 849
Activities 851
Hour 23: Universal Applications and Size Classes 853
Universal Application Development 853
Size Classes 857
Further Exploration 873
Summary 873
Q&A 874
Workshop 874
Activities 875
Hour 24: Application Tracing, Monitoring, and Debugging 877
Instant Feedback with NSLog 878
Using the Xcode Debugger 881
Further Exploration 898
Summary 898
Q&A 899
Workshop 899
Activities 901
Index 903
Online Appendix A: Introducing Xcode Source Control
Note: Appendix A is a bonus online chapter. To access it, go to www.informit.com/title/9780672337673 and click the Downloads tab.