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