Pub. Date:
Learning iOS Development: A Hands-on Guide to the Fundamentals of iOS Programming / Edition 1

Learning iOS Development: A Hands-on Guide to the Fundamentals of iOS Programming / Edition 1

Current price is , Original price is $39.99. You

Temporarily Out of Stock Online

Please check back later for updated availability.


Covers iOS 7 and Xcode 5

Learning iOS Developmentis the perfect first book for every new iOS 7 developer. It delivers a complete foundation for iOS development, including an introduction to the Objective-C language, Xcode development tools, best-practice user interface development, and best practices for all aspects of app development and deployment.

Throughout Learning iOS Development, you explore the iOS development process as you create and expand a handy car valet app. The hands-on projects enable you to create meaningful code as soon as possible, building confidence and mastery. The annotated code listings work with all the latest iOS technology, so you’ll be ready to jump into this exciting development field.

With Learning iOS Development, it’s easy to learn at your own pace, on your own--or to deepen the knowledge you may be gaining in a classroom or workplace.

Coverage includes

  • Installing all the tools, programs, and devices you need to create iOS apps
  • Building your first app and mastering the essentials of Objective-C
  • Making the most effective use of device memory
  • Storyboarding your interface and connecting it to your underlying code
  • Using Auto Layout to support devices with different sizes and orientations
  • Managing app data with Core Data
  • Creating sophisticated custom gestures
  • Deploying your app through Apple’s App Store
  • Quickly localizing your app for multiple languages and countries
  • Implementing scrolling, navigation, table views, and other core iOS features
  • Mastering advanced table views and navigation, including iPad split views
  • Passing code encapsulated in blocks for communicating between parts of your app and with the system
  • Tuning and debugging your apps for the best performance and quality
  • Discovering great resources to take your next steps as an iOS developer

Product Details

ISBN-13: 9780321862969
Publisher: Addison-Wesley
Publication date: 11/27/2013
Series: Learning Series
Pages: 592
Product dimensions: 7.00(w) x 8.90(h) x 1.40(d)

About the Author

Maurice Sharp is a 21-year veteran of mobile development at companies both large and small, ranging from Apple, Palm, and eBay to ShopWell and Couchsurfing. Maurice got his start as an intern developing the Newton ToolKit prototype, then as a Developer Technical Support (DTS) Engineer helping make the world safe and fun for Newton and Palm developers. After mastering the DTS side, he went back to coding, and he currently manages and does mobile development at Couchsurfing; runs his own consulting company, KLM Apps; and is ex officio technical advisor to some mobile-focused startups. When not living and breathing code, Maurice spends his time being a husband, and a father to a precocious 10-year-old girl–his two most important roles.

Erica Sadun is a bestselling author, coauthor, and contributor to several dozen books on programming, digital video and photography, and web design, including the widely popular The Core iOS 6 Developer’s Cookbook, now in its fourth edition. She currently blogs at, and she has blogged in the past at O’Reilly’s Mac Devcenter, Lifehacker, and Ars Technica. In addition to being the author of dozens of iOS-native applications, Erica holds a Ph.D. in computer science from Georgia Tech’s Graphics, Visualization and Usability Center. A geek, a programmer, and an author, she’s never met a gadget she didn’t love. When not writing, she and her geek husband parent three geeks-in-training, who regard their parents with restrained bemusement when they’re not busy rewiring the house or plotting global domination.

Rod Strougo is an author, instructor, and developer. Rod’s journey in iOS and game development started way back with an Apple, writing games in Basic. From his early passion for games, Rod’s career moved to enterprise software development, and he spent 15 years writing software for IBM and AT&T. These days Rod follows his passion for game development and teaching, providing iOS training at the Big Nerd Ranch ( Originally from Rio de Janeiro, Rod now lives in Atlanta, Georgia, with his wife and sons.

Table of Contents

Foreword xvi
Preface xx
Chapter 1: Hello, iOS SDK 1

Installing Xcode 1
About the iOS SDK 2
What You Get for Free 3
iOS Developer Program (Individual and Company) 4
Developer Enterprise Program 4
Developer University Program 5
Registering 5
iTunes U and Online Courses 5
The iOS SDK Tools 6
Testing Apps: The Simulator and Devices 7
Simulator Limitations 8
Tethering 10
iOS Device Considerations 11
Understanding Model Differences 15
Screen Size 15
Camera 16
Audio 16
Telephony 16
Core Location and Core Motion Differences 17
Vibration Support and Proximity 17
Processor Speeds 17
OpenGL ES 18
iOS 18
Summary 19
Chapter 2: Objective-C Boot Camp 21
Building Hello World the Template Way 21
Creating the Hello World Project 21
A Quick Tour of the Xcode Project Interface 25
Adding the Hello World Label 28
Objective-C Boot Camp 30
The Objective-C Programming Language 31
Classes and Objects 35
The CarValet App: Implementing Car Class 41
Implementing Car Methods 46
Properties 50
Creating and Printing Cars 53
Properties: Two More Features 55
Custom Getters and Setters 56
Subclassing and Inheritance: A Challenge 58
Inheritance and Subclassing 59
Summary 62
Challenges 63
Chapter 3: Introducing Storyboards 65
Storyboard Basics 65
Scenes 66
Scene 1: Creating the Add/View Scene 67
Adding the Add/View Visual Elements 67
Adding the Initial Add/View Behaviors 72
Adding Car Display Behaviors 82
Adding Previous and Next Car Buttons 86
Scene 2: Adding an Editor 89
Adding the Editor Visual Elements 91
Adding Editor Behaviors 94
Hooking It All Together 98
Why Not Segue Back? 106
Improving the Storyboard: Take 1 107
Exchanging Data Using a Protocol 108
Improving the Storyboard: Take 2 112
Summary 115
Challenges 116
Chapter 4: Auto Layout 117
Auto Layout Basics 117
Constraints 120
Perfecting Portrait 131
Thinking in Constraints 132
What Makes a Complete Specification 133
Adding/Viewing Cars: Designing and
Implementing the Constraints 134
Edit Car: An Initial Look 155
Adding Landscape 156
Adding and Viewing Cars: Designing the Landscape Constraints 158
Summary 180
Challenges 181
Chapter 5: Localization 183
Localization Basics 183
Redirection 184
Formats 187
Preparing the App for Localization 189
Setting Up Localization for the Add/View Car Scene 191
German Internationalization 203
Adding the German Locale 203
Changing the Device Language 206
Updating the German Localizable.strings 207
Changing Label Constraints 209
Formatting and Reading Numbers 213
Right-to-Left: Arabic Internationalization 215
Adding Arabic Strings 215
Making Dates and Numbers Work 219
Text Alignment 222
Summary 224
Challenges 224
Chapter 6: Scrolling 225
Scrolling Basics 225
Bounce Scrolling 227
Adding a Scroll View to the View/Edit Scene 227
Handling the Keyboard 230
Adding the Scroll View 231
Resizing for the Keyboard 234
Adding Resizing 239
Scrolling Through Content 240
Populating the Scroll View 241
Adding Paging 243
Adding Zoom 245
Rotation 248
What Car Is This? 249
Summary 250
Challenges 251
Chapter 7: Navigation Controllers I: Hierarchies and Tabs 253
Navigation Controller 254
Navigation Controller Classes 256
Message-Based Navigation 263
A Bit of Color 264
Tab Bar Controller 267
How the Tab Bar Works 268
CarValet: Adding a Tab Bar 270
Car Valet: Moving Info 272
Summary 273
Challenges 274
Chapter 8: Table Views I: The Basics 275
Introduction to Table Views 275
Project TableTry 277
Phase I: Replacing the Add/View Scene 283
Adding a Car View Cell 285
Adding New Cars 287
Removing Cars 288
Phase II: Adding an Edit Screen Hierarchy 291
Adding a View Car Scene 292
Populating the View Car Scene with Data 294
Editing Data 296
Editing the Year 307
Summary 314
Challenges 315
Chapter 9: Introducing Core Data 317
Introduction to Core Data 318
Moving CarValet to Core Data 320
Adding the CDCar Model 321
Adding Core Data Boilerplate Code 324
Converting CarTableViewController 326
Easier Tables: NSFetchedResultsController 332
Part 1: Integrating NSFetchedResultsController 333
Part 2: Implementing NSFetchedResultsControllerDelegate 336
Summary 339
Challenges 340
Chapter 10: Table Views II: Advanced Topics 341
Custom Table View Cells 341
Adding the Custom Cell Visual Elements 343
Sections and Sorting 345
Section Headers 346
Enabling Changing of Section Groups 349
Adding an Index 355
Showing the Year in an Index 357
Searching Tables 358
Adding Searching 361
Summary 369
Challenges 370
Chapter 11: Navigation Controllers II: Split View and the iPad 371
Split View Controller 372
Adding a Split View Controller 374
Adding the Split View Controller 376
Adding App Section Navigation 379
Adding About 382
Creating MainMenuViewController 383
Polishing Menu Images 385
Accessing the Menu in Portrait 387
Implementing the DetailController
Singleton 388
Adding Car Images 397
Adding Cars 400
Adapting the Car Table to iPad 401
Car Detail Controller 404
Car Detail Controller, Take 2: iPad Specific 407
Summary 424
Challenges 425
Chapter 12: Touch Basics 427
Gesture Recognizer Basics 427
Swiping Through Cars 428
Moving Through Cars 429
Calling nextOrPreviousCar: 432
Adding Action Selectors 433
Adding the Swipe Gestures 436
Preventing Recognizers from Working 438
Custom Recognizers 439
Recognizer States 439
Specializing Recognizer Messages 441
iPad Go Home 442
Creating the Return Gesture Recognizer 442
Adding the Gesture Recognizer to the Current Detail 446
Creating and Responding to the Gesture
Recognizer 446
One More Gesture 448
Drag Gesture Recognizer 448
Adding the Taxi View with Drag 450
Summary 450
Challenges 451
Chapter 13: Introducing Blocks 453
Block Basics 453
Declaring Blocks 453
Using Blocks 454
Writing Blocks 455
Variable Scope 460
Copying and Modification 461
Replacing a Protocol 462
Step 1: Changing ViewCarTableViewController 463
Step 2: Updating CarTableViewController 464
Step 3: Modifying CarDetailViewController 465
Step 4: Updating MainMenuViewController 466
Summary 466
Challenges 467
Chapter 14: Instruments and Debugging 469
Instruments 469
Templates and Instruments 471
An Example Using the Time Profiler 472
A Last Word on Instruments 478
The Debugger 479
Debug Gauges: Mini “Instruments” 481
Breakpoints, and Actions, and Code...Oh My! 483
Bug Hunt: Instruments and the Debugger 486
Starting with Zombies 486
Moving On to the Debugger 489
Summary 491
Challenges 491
Chapter 15: Deploying Applications 493
Certificates, Profiles, and Apps 493
Generating a Development Certificate and Profile 495
App ID and Provisioning 498
Prelaunch 506
Bug Reporting 506
Metrics 508
Quality Assurance Testing 509
Marketing 512
Uploading and Launching 513
App Details 515
Uploading to the App Store 521
Some Things to Watch Postlaunch 526
Where to Go Next 526
Websites 527
Developer Groups and Conferences 528
Other Social Media 529
Summary 530
Challenges 530
Index 531

Customer Reviews

Most Helpful Customer Reviews

See All Customer Reviews

Learning iOS Development: A Hands-on Guide to the Fundamentals of iOS Programming 5 out of 5 based on 0 ratings. 2 reviews.
Anonymous More than 1 year ago
"Gross dude, we're trying to watch Transformers in peace." An anonymous patron said as he threw his 64oz. Coke product at the couple. 
Anonymous More than 1 year ago
Gtg. "I'm not much of a movie fan.." *she smiled and rested her hand on her knees*