iOS 8 Application Development in 24 Hours, Sams Teach Yourself
Home > Computing and Information Technology > Computer programming / software engineering > Macintosh programming > iOS 8 Application Development in 24 Hours, Sams Teach Yourself
iOS 8 Application Development in 24 Hours, Sams Teach Yourself

iOS 8 Application Development in 24 Hours, Sams Teach Yourself

|
     0     
5
4
3
2
1




Out of Stock


Notify me when this book is in stock
About the Book

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. By the Way notes present interesting information related to the discussion. Did You Know? tips show you easier ways to perform tasks. Watch Out! cautions alert you to possible problems and give you advice on how to avoid them. John Ray is currently serving as the Director of the Office of Research Information Systems at the Ohio State University. His many books include Using TCP/IP: Special Edition, Maximum Mac OS X Security, Mac OS X Unleashed, Teach Yourself Dreamweaver MX in 21 Days, and Sams Teach Yourself iOS 7 Application Development in 24 Hours.   Printed in full color–figures and code appear as they do in Xcode Covers iOS 8 and up Learn to navigate the Xcode 6.x development environment Prepare your system and iDevice for efficient development Get started quickly with Apple’s new language: Swift Test code using the new 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 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, debug, and monitor your applications as they run

Table of Contents:
Introduction 1   HOUR 1: Preparing Your System and iDevice for Development 5 Welcome to the iOS Platform . . . . . . . 5 Becoming an iOS Developer . . . . . . . . . . . . . . . . . . . . . . . . . 9 Running an iOS App . . . . . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . 16 Developer Technology Overview . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . 23 Further Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27   HOUR 2: Introduction to Xcode and the iOS Simulator 29 Using Xcode . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . 29 Using the iOS Simulator . . . . . . . . . . . . . . . . . . . . . . . . 63 Further Exploration . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . 71 Summary . . . . . . . . . . . . . . . . . . . . . . . . . 71 Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75   HOUR 3: Discovering Swift and the iOS Playground 77 Object-Oriented Programming and Swift . . . . . . . . . . . . . . . .. . . . . . . . . . . 77 The Terminology of Object-Oriented Development . . . . . . . . . . . . . . . .. . . . . . . . . 79 Exploring the Swift File Structure . . . . . . . . . . . . . . . . . . . . . . . . . 82 Swift Programming Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Memory Management and Automatic Reference Counting . . . . . . . . . . . . . . . 107 Introducing the iOS Playground . . . . . .  . . . . . . . . . . . . . . . . . . 108 Further Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Q&A . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . 113 Workshop . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 Activities . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116   HOUR 4: Inside Cocoa Touch 117 What Is Cocoa Touch? . . . . . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Exploring the iOS Technology Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Tracing the iOS Application Life Cycle . . . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . 126 Cocoa Fundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Exploring the iOS Frameworks with Xcode . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . 135 Further Exploration . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . 143 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146   HOUR 5: Exploring Interface Builder 147 Understanding Interface Builder . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . . 147 Creating User Interfaces . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . 154 Customizing the Interface Appearance . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . 164 Connecting to Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 Further Exploration . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . 179 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 Workshop . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 Activities . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . . . . . 184   HOUR 6: Model-View-Controller Application Design 185 Understanding the MVC Design Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 How Xcode Implements MVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 Using the Single View Application Template . . . . . . . . . . . . . . . . . . . . . . . 191 Further Exploration . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . 209 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . 210 Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213   HOUR 7: Working with Text, Keyboards, and Buttons 215 Basic User Input and Output . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . 215 Using Text Fields, Text Views, and Buttons . . . . . . . . . . . . . . . . . . . . . . . . . 217 Further Exploration . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 Workshop . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . 249   HOUR 8: Handling Images, Animation, Sliders, and Steppers 251 User Input and Output . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . 251 Creating and Managing Image Animations, Sliders, and Steppers . . . . . . . . . . . . . 253 Further Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 Summary . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . 276 Q&A . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279   HOUR 9: Using Advanced Interface Objects and Views 281 User Input and Output (Continued) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 Using Switches, Segmented Controls, and Web Views . . . . . . . . . . . . . . .. . . . . 287 Using Scrolling Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 Further Exploration . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 Q&A . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 Workshop . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 Activities . . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316   HOUR 10: Getting the User’s Attention 317 Alerting the User . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 Exploring User Alert Methods . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . 328 Further Exploration . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . 344 Activities . . . . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347   HOUR 11: Implementing Multiple Scenes and Popovers 349 Introducing Multiscene Storyboards . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . 350 Using Segues . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . 377 Popovers, Universal Applications, and iPhones . . . . . . . . . . . . . . . .. . . . . . . . 390 Further Exploration . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . 395 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399   HOUR 12: Making Choices with Toolbars and Pickers 401 Understanding the Role of Toolbars . . . . . . . . . . . . . . . . . . . . . . . . . . 401 Exploring Pickers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 Using the Date Picker . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 Using a Custom Picker . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 Further Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 Workshop . . . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442 Activities . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444   HOUR 13: Advanced Storyboards Using Navigation and Tab Bar Controllers 445 Advanced View Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445 Exploring Navigation Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447 Understanding Tab Bar Controllers . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . 452 Using a Navigation Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458 Using a Tab Bar Controller . . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . 469 Further Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480 Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . 480 Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . 481 Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . 483   HOUR 14: Navigating Information Using Table Views and Split View Controllers 485 Understanding Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486 Exploring the Split View Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495 A Simple Table View Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498 Creating a Master-Detail Application . . . . . . . . . . . . . . .  . . . . . . . . . . . 507 Further Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522 Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . 523 Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . 523 Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . 525   HOUR 15: Reading and Writing Application Data 527 iOS Applications and Data Storage . . . . . . . . . . . . . . . . . . . . . . . . 527 Data Storage Approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530 Creating Implicit Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539 Implementing System Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546 Implementing File System Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559 Further Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567 Summary . . . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568 Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568 Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569 Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571   HOUR 16: Building Responsive User Interfaces 573 Responsive Interfaces . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . 573 Using Auto Layout . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578 Programmatically Defined Interfaces . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . 600 Further Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607 Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608 Workshop . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608 Activities . . . . . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610   HOUR 17: Using Advanced Touches and Gestures 611 Multitouch Gesture Recognition . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . 611 Adding Gesture Recognizers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612 Using Gesture Recognizers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614 Further Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635 Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636 Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636 Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638   HOUR 18: Sensing Orientation and Motion 639 Understanding Motion Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639 Accessing Orientation and Motion Data . . . . . . . . . . . .  . . . . . . . . . . . . . . 643 Sensing Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647 Detecting Acceleration, Tilt, and Rotation . . . . . . . . . . . . . . . . . .  . . . . . . . . . . 652 Further Exploration . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . 663 Summary . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664 Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664 Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664 Activities . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666   HOUR 19: Working with Rich Media 669 Exploring Rich Media . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . . . . . 669 The Media Playground Application . . . . . . . . . .. . . . . . . . . . . . . . . 683 Further Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708 Summary . . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709 Q&A . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709 Workshop . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710 Activities . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 712   HOUR 20: Interacting with Other iOS Services 713 Extending iOS Service Integration . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . 713 Using the Address Book, Email, Social Networking, and Maps . . . . . . . . . . . . . . . . . . . . 730 Further Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746 Summary . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746 Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746 Workshop . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 747 Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749   HOUR 21: Implementing Location Services 751 Understanding Core Location . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . 751 Creating a Location-Aware Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758 Further Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 778 Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 778 Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 778 Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781   HOUR 22: Building Background-Ready Applications 783 Understanding iOS Backgrounding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783 Disabling Backgrounding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 789 Handling Background Suspension . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . 790 Implementing Local Notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792 Using Task-Specific Background Processing. . . . . . . . . . . . . . . . . . . . . 795 Completing a Long-Running Background Task . . . . . . . . . .  . . . . . . . . . . . . . 800 Performing a Background Fetch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 806 Further Exploration . . . . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . 810 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811 Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811 Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 812 Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814   HOUR 23: Building Universal Applications 815 Universal Application Development . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . 815 Size Classes . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . 819 Further Exploration . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . 833 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . 834 Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834 Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834 Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . 836   HOUR 24: Application Tracing, Monitoring, and Debugging 837 Instant Feedback with NSLog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838 Using the Xcode Debugger . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . 841 Further Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 858 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 859 Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 859 Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 859 Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 862       Index 863   ONLINE APPENDIX A: Introducing Xcode Source Control


Best Sellers


Product Details
  • ISBN-13: 9780133994421
  • Publisher: Pearson Education (US)
  • Publisher Imprint: Addison Wesley
  • Language: English
  • ISBN-10: 0133994422
  • Publisher Date: 06 Mar 2015
  • Binding: Digital download
  • Weight: 1 gr


Similar Products

Add Photo
Add Photo

Customer Reviews

REVIEWS      0     
Click Here To Be The First to Review this Product
iOS 8 Application Development in 24 Hours, Sams Teach Yourself
Pearson Education (US) -
iOS 8 Application Development in 24 Hours, Sams Teach Yourself
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

iOS 8 Application Development in 24 Hours, Sams Teach Yourself

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    New Arrivals

    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!