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.
The clear, easy-to-understand tutorial for developers who want to write software for today's hottest new device: Apple's iPad!
Figures and code appear as they do in Xcode
Covers iOS 3.2 and up
In just 24 sessions of one hour or less, learn how to build powerful applications for today’s hottest tablet device: the iPad! Using this book’s straightforward, step-by-step approach, you’ll master every skill and technology you need, from setting up your Xcode development environment to utilizing the full iPad screen real estate for touchable interfaces, integrating maps and media, to improving the reliability and performance of your software. 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 iPad development tasks.
Quizzes and Exercises at the end of each chapter help you test your knowledge.
By the Way notes present interesting information related to the discussion.
Did You Know? tips offer advice or show you easier ways to perform tasks.
Watch Out! cautions alert you to possible problems and give you advice on how to avoid them.
Printed in full color
• Learn the features of the Xcode development suite
• Prepare your system and iPad for efficient development
• Get started fast with Apple’s Objective-C and Cocoa Touch
• Understand the Model-View-Controller (MVC) development paradigm
• Implement advanced application interfaces with interactive widgets and web-connected interfaces
• Enhance the user experience with popovers and other iPad-only UI features
• Build interfaces that adjust to the iPad’s orientation
• Read and write data, and navigate it with table views
• Implement media playback and recording capabilities
• Integrate your software with the iPad’s email, photos, iPod, and address book applications
• Create map and location-based services
• Sense motion with the iPad accelerometer input
• Discover the tools for building universal iPad/iPhone/iPod touch applications
• Distribute your applications through the App Store
iPad Application Development: Presenting Options with Popovers and Toolbars
Download the sample pages (includes Chapter 11 and Index)
Introduction 1
HOUR 1: Preparing Your System and iPad for Development 5
Welcome to the iPad Platform 5
Becoming an iPad Developer 8
Creating a Development Provisioning Profile 13
Developer Technology Overview 25
Summary 27
Q&A 27
Workshop 28
HOUR 2: Introduction to Xcode and the iPhone Simulator 29
Using Xcode 29
Using the iPhone Simulator 47
Further Exploration 52
Summary 52
Q&A 53
Workshop 53
HOUR 3: Discovering Objective-C: The Language of Apple Platforms 55
Object-Oriented Programming and Objective-C 55
Exploring the Objective-C File Structure 60
Objective-C Programming Basics 67
Memory Management 76
Further Exploration 78
Summary 79
Q&A 79
Workshop 80
HOUR 4: Inside Cocoa Touch 83
What Is Cocoa Touch? 83
Exploring the iPhone OS Technology Layers 85
Tracing the iPad Application Life Cycle 89
Cocoa Fundamentals 91
Exploring the iPhone OS Frameworks with Xcode 100
Summary 104
Q&A 104
Workshop 104
HOUR 5: Exploring Interface Builder 107
Understanding Interface Builder 107
Creating User Interfaces 112
Customizing Interface Appearance 117
Connecting to Code 122
Further Exploration 130
Summary 131
Q&A 131
Workshop 132
HOUR 6: Model-View-Controller Application Design 133
Understanding the Model-View-Controller Paradigm 133
How Xcode and Interface Builder Implement MVC 136
Using the View-Based Application Template 139
Further Exploration 153
Summary 154
Q&A 154
Workshop 154
HOUR 7: Working with Text, Keyboards, and Buttons 157
Basic User Input and Output 157
Using Text Fields, Text Views, and Buttons 159
Further Exploration 184
Summary 185
Q&A 185
Workshop 186
HOUR 8: Handling Images, Animation, and Sliders 187
User Input and Output 187
Creating and Managing Image Animations and Sliders 188
Further Exploration 207
Summary 208
Q&A 208
Workshop 209
HOUR 9: Using Advanced Interface Objects and Views 211
User Input and Output (Continued) 211
Using Switches, Segmented Controls, and Web Views 216
Using Scrolling Views 232
Further Exploration 238
Summary 239
Q&A 239
Workshop 240
HOUR 10: Getting the User’s Attention 241
Exploring User Alert Methods 241
Generating Alerts 245
Using Alert Sounds 255
Further Exploration 258
Summary 259
Q&A 259
Workshop 260
HOUR 11: Presenting Options with Popovers and Toolbars 261
Understanding Popovers and Toolbars 262
Using Popovers with Toolbars 264
Further Exploration 279
Summary 280
Q&A 280
Workshop 281
HOUR 12: Making Multivalue Choices with Pickers and Action Sheets 283
Popover-centric UI Elements 283
The PopoverPlayground Project 289
Using Date Pickers 289
Implementing a Custom Picker View 299
Using Action Sheets 316
Further Exploration 321
Summary 322
Q&A 322
Workshop 323
HOUR 13: Focusing on Tasks with Modal Views 325
Modal Views 325
Using Modal Views 328
Further Exploration 339
Summary 339
Q&A 339
Workshop 340
HOUR 14: Implementing Multiview Applications 341
Exploring Single Versus Multiview Applications 341
Creating a Multiview Application 342
Building a Multiview Tab Bar Application 354
Further Exploration 374
Summary 376
Q&A 376
Workshop 376
HOUR 15: Navigating Information Using Table Views and Split View-Based Applications 379
Understanding Table Views and Split Views 380
Building a Simple Table View Application 383
Creating a Split View-Based Application 396
Further Exploration 411
Summary 411
Q&A 412
Workshop 412
HOUR 16: Reading and Writing Application Data 415
Design Considerations 415
Reading and Writing User Defaults 418
Understanding the iPad File System Sandbox 433
Implementing File System Storage 436
Further Exploration 457
Summary 458
Q&A 458
Workshop 459
HOUR 17: Building Rotatable and Resizable User Interfaces 461
Rotatable and Resizable Interfaces 461
Creating Rotatable and Resizable Interfaces with Interface Builder 465
Reframing Controls on Rotation 471
Swapping Views on Rotation 479
Further Exploration 485
Summary 486
Q&A 486
Workshop 487
HOUR 18: Extending the Touch Interface 489
Multitouch Gesture Recognition 490
Using Gesture Recognizers 491
Further Exploration 506
Summary 507
Q&A 507
Workshop 508
HOUR 19: Sensing Movement with Accelerometer Input 509
Accelerometer Background 510
Sensing Orientation 513
Detecting Tilt 518
Detecting Movement 522
Further Exploration 523
Summary 524
Workshop 524
HOUR 20: Working with Rich Media 527
Exploring Rich Media 527
Preparing the Media Playground Application 529
Using the Movie Player 534
Creating and Playing Audio Recordings 539
Using the iPad Photo Library 544
Accessing and Playing the iPod Library 548
Further Exploration 554
Summary 555
Q&A 555
Workshop 556
HOUR 21: Interacting with Other Applications 557
Extending Application Integration 557
Using Address Book, Email, and Maps… Oh My! 561
Further Exploration 577
Summary 577
Q&A 577
Workshop 578
HOUR 22: Building Universal Applications 579
Universal Application Development 579
Understanding the Universal Window Application Template 581
Other Universal Application Tools 597
Further Exploration 599
Summary 599
Q&A 599
Workshop 600
HOUR 23: Application Debugging and Optimization 601
Debugging in Xcode 602
Monitoring with Instruments 615
Profiling with Shark 622
Further Exploration 629
Summary 629
Workshop 630
HOUR 24: Distributing Applications Through the App Store 631
Preparing an Application for the App Store 632
Submitting an Application for Approval 642
Promoting Your Application 649
Exploring Other Distribution Methods 654
Summary 656
Q&A 656
Workshop 657
Index 659