iOS App Development For Dummies

iOS App Development For Dummies

by Jesse Feiler
iOS App Development For Dummies

iOS App Development For Dummies

by Jesse Feiler


    Qualifies for Free Shipping
    Check Availability at Nearby Stores

Related collections and offers


If you’ve got incredible iOS ideas, get this book and bring them to life!

iOS 7 represents the most significant update to Apple’s mobile operating system since the first iPhone was released, and even the most seasoned app developers are looking for information on how to take advantage of the latest iOS 7 features in their app designs. That’s where iOS App Development For Dummies comes in! Whether you’re a programming hobbyist wanting to build an app for fun or a professional developer looking to expand into the iOS market, this book will walk you through the fundamentals of building a universal app that stands out in the iOS crowd.

  • Walks you through joining Apple’s developer program, downloading the latest SDK, and working with Apple’s developer tools
  • Explains the key differences between iPad and iPhone apps and how to use each device’s features to your advantage
  • Shows you how to design your app with the end user in mind and create a fantastic user experience
  • Covers using nib files, views, view controllers, interface objects, gesture recognizers, and much more

There’s no time like now to tap into the power of iOS – start building the next big app today with help from iOS App Development For Dummies!

Product Details

ISBN-13: 9781118871058
Publisher: Wiley
Publication date: 04/14/2014
Series: For Dummies Books
Pages: 576
Sales rank: 668,570
Product dimensions: 7.30(w) x 9.10(h) x 1.30(d)

About the Author

Jesse Feiler is a developer, consultant, and author specializing in Apple technologies. He is the creator of Minutes Machine for iPad, the meeting management app, and Saranac River Trail and is heard regularly on WAMC Public Radio for the Northeast’s The Roundtable.

Read an Excerpt

Click to read or download

Table of Contents

Introduction 1

A Bit of History 1

The iPhone stands alone 2

Enter the App Store 2

The iPad joins the party 3

The Plan for This Book 3

iOS and Xcode Game Changers 4

About This Book 5

Conventions Used in This Book 5

Icons Used in This Book 6

Foolish Assumptions 7

How This Book Is Organized 7

Part I: Getting Started 8

Part II: Building RoadTrip 8

Part III: Getting Your Feet Wet: Basic Functionality 8

Part IV: The Model and the App Structure 9

Part V: Adding the App Content 9

Part VI: The Part of Tens 9

Beyond the Book 10

Where to Go from Here 10

Part I: Getting Started 11

Chapter 1: What Makes a Great iOS App 13

Figuring Out What Makes a Great iOS App 14

Making your app work well 14

Handling networking, social media, and location 15

Designing a powerful and intuitive interface that disappears 15

Using the iOS Platform to the Fullest 16

Exploiting advantages of the system 16

Accessing the Internet 17

Knowing the location of the user 18

Tracking orientation and motion 18

Tracking users’ fingers on the screen 19

Playing content 19

Accessing information from Apple’s apps 19

Copying, cutting, and pasting between apps 20

Multitasking, background processing, and notifications 20

Living large on the big screen 21

Embracing Device Limitations 21

Designing for fingers 22

Balancing memory and battery life 22

Why Develop iOS Apps? 23

Developing with Apple’s Expectations in Mind 24

Thinking About You, Apps, and Money 25

Enter the Cloud 26

Developing an App the Right Way Using the Example App in This Book 27

What’s Next 27

Chapter 2: Getting to Know the SDK 29

Developing Using the SDK 29

Using Xcode to Develop an App 30

Creating an Xcode project 31

Developing the app 31

The Workspace Window 33

Workspace areas 34

Displaying an area’s content 36

The toolbar and Tab bar 40

The Organizer window 42

Chapter 3: The Nuts and Bolts of an Xcode Project 45

Creating Your Project 45

Exploring Your Project 50

The project 50

The Project editor 50

The Project navigator 53

Setting Your Xcode Preferences 57

Building and Running Your Application 59

Building an app 61

The iPad’s Split views 63

The Log navigator 64

Running in the Simulator 66

Interacting with your simulated hardware 66

Making gestures 67

Uninstalling apps and resetting your device 68

Living with the Simulator’s limitations 69

Using Asset Catalogs 70

Adding the Image and Sound Resources and an App Icon 74

Part II: Building RoadTrip 77

Chapter 4: Storyboards and the User Experience 79

Introducing the Storyboard 80

Telling your story 81

Working with object graphs 83

Defining What You Want an App to Do: The RoadTrip App 84

Creating the Application Architecture 88

What You Add Where 89

Using Frameworks 90

Using Design Patterns 91

The iOS design patterns 92

The Model-View-Controller (MVC) design pattern 92

Working with Windows and Views 95

Looking out the window 95

Admiring the view 96

The kinds of views you use 97

View Controllers — the Main Storyboard Players 101

What About the Model? 104

It’s Not That Neat 105

Taking a Look at Other Frameworks 106

The Foundation framework 106

The CoreGraphics framework 106

Even more frameworks 107

Understanding the MVC in the Project 107

Chapter 5: Creating the RoadTrip User Interface 111

Creating Your User Interface in the iPad Storyboard 111

It’s about the view controller 112

Using Interface Builder to add the user elements 113

Working within the Utility Area 115

Inspector and Quick Help pane 115

Library pane 116

Understanding iPad Navigation 117

Adding a New View Controller 121

Danger Will Robinson 128

Adding an identifier to the view controller 129

View Layout 130

Adding the User Interface Objects 131

Autosizing with Auto Layout 136

Adding the Test Drive button 141

Massaging the Template Code 144

Getting Rid of Warnings 148

Creating the iPhone User Interface 148

Chapter 6: The Runtime, Managing Memory, and Using Properties 151

Stepping Through the App Life Cycle 152

UIApplicationMain 153

Handling events while your application is executing 158

Knowing what to do when the normal processing of your application is interrupted 160

An overview of the view controller life cycle 163

Working within the Managed Memory Model Design Pattern 164

Understanding memory management 165

Using reference counting 165

Automatic Reference Counting (ARC) 167

Working with variable types according to ARC 169

Understanding the deadly retain cycle 170

Observing Low-Memory Warnings 172

The didReceiveMemoryWarning method 172

The applicationDidReceiveMemoryWarning: method 172

The UIApplicationDidReceiveMemoryWarningNotification: notification 173

Picking the right memory-management strategy for your application 173

Customizing the Behavior of Framework Classes 174

Subclassing 174

The Delegation pattern 175

Understanding Declared Properties 176

What comprises a declared property 176

Using dot syntax 177

Setting attributes for a declared property 178

Writing your own accessors 180

Accessing instance variables with accessors 181

Hiding Instance Variables 181

Chapter 7: Working with the Source Editor 183

Navigating in the Xcode Source Editors 183

Using the Jump bar 186

Organizing your code using the #pragma mark statement 190

Using the Xcode Source Editor 190

Using Live Issues and Fix-it 192

Compiler warnings 193

The Issue navigator 193

Accessing Documentation 195

Getting Xcode help 195

The Organizer window 198

The Help menu 199

Finding and Searching in Your Project 199

Using the Find command to locate an item in a file 199

Using the Search navigator to search your project or framework 200

Using the Symbol navigator 201

You’re Finally Ready to Write Code! 202

Part III: Getting Your Feet Wet: Basic Functionality 203

Chapter 8: It’s (Finally) T ime to Code 205

Checking for Network Availability 205

Downloading the Reachability sample 205

Adding the code to check for reachability 208

Exploring the Changes in iOS 7 211

The dated interface 211

Losing the content 212

Setting the Master View Controller Title 213

Understanding Autorotation 214

Writing Bug-Free Code 215

Working in the Debug area and Debug navigator 216

Managing breakpoints 218

What you’ll find in the Debug area 222

What you’ll find in the Debug navigator 223

Displaying variables in the Source editor 224

Tiptoeing through your program 225

Chapter 9: Adding Outlets and Actions to Your RoadTrip Code 227

Using Custom View Controllers 228

Adding the custom view controller 228

Setting up the TestDriveController in the MainStoryboard for iPad 229

Understanding Outlets 231

Adding Outlets 232

Opening the Assistant editor 232

Creating the outlet 234

The Connections inspector 237

Working with the Target-Action Design Pattern 239

Using the Target-Action pattern: It’s about controls 239

Adding an action 241

How Outlets and Actions Work 244

Update the iPhone storyboard file 244

Chapter 10: Adding Animation and Sound to Your App 247

Understanding iOS Animation 248

View geometry and coordinate systems 248

Points versus pixels 248

A view’s size and position 249

Working with data structures 250

Coordinating Auto Layout, Frames, and Constraints 250

Animating a View 251

Finally, More Code 252

Implementing the testDrive Method 252

Understanding Block Objects 256

Rotating the Object 259

Working with Audio 261

Tracking Touches 269

Animating a Series of Images “In Place” 272

iPhone versus iPad 273

Part IV: The Model and the App Structure 275

Chapter 11: The Trip Model 277

What the Model Contains 277

Adding the Model Data 278

Using property lists 278

Adding a property list to your project 280

Adding the First Two Model Classes 290

Understanding the Trip Interface 292

Implementing the Trip Class 294

Initializing objects 296

Invoking the superclass’s init method 297

Initializing instance variables 298

Returning self 299

Initializing the Destination Class 300

Creating the Trip Object 303

More Debugger Stuff 305

Chapter 12: Implementing the Master View Controller 309

Setting Up a Custom View Controller for the iPad 309

Adding a Background Image and Title 319

Updating the iPhone Storyboard File 321

Chapter 13: Working with Split View Controllers and the Master View 323

The Problem with Using a Navigation Controller in Detail View 323

Using a Navigation Controller in the Master View 326

Adding a Gesture Recognizer 330

The Split View Controller 333

The UISplitViewController delegate 335

Localization 340

Back to the main feature 340

Adding the Toolbar 346

Adding the button when the view controller is replaced 350

A Few More Tweaks to the MasterViewController 354

And (a Little Extra) One More Thing 355

Don’t Forget the iPhone 356

Chapter 14: Finishing the Basic App Structure 357

Extending the iPad Storyboard to Add More Functionality to Your App 358

Adding the Weather view controller 358

Adding the Events controller 364

Adding the remaining controllers 367

Changing the Split View Controller to a Detail View Controller Relationship 368

Repeat for iPhone 372

Part V: Adding the App Content 373

Chapter 15: How’s the Weather? Working with Web Views 375

The Plan 375

The iPad storyboard 376

The iPhone storyboard 377

Setting Up the Weather Controller 379

Adding the custom view controller 379

Setting Up WeatherController in the Main_iPad.storyboard file 380

The Weather Controller 385

Managing links in a Web view 388

More Opportunities to Use the Debugger 392

Unrecognized selector sent to instance 392

Repeat for the iPhone Storyboard 393

Adding the WeatherController to the iPhone storyboard file 393

Test in the iPhone Simulator 394

Chapter 16: Displaying Events Using a Page View Controller 395

The Plan 396

Setting Up the EventsController 397

Adding the custom view controller 397

Setting up the EventsController in the MainStoryboard 398

Adding and setting up the EventPageController in the MainStoryboard 399

Extending the Trip Model 401

Adding the Events Class 403

The EventsController and Its PageViewController 406

Data sources and delegates 406

Data source 407

Delegate 407

The EventsController 407

The EventPageController 412

Adding Events Support to the iPhone Storyboard 415

Chapter 17: Finding Your Way 417

The Plan 418

Setting Up the Map Controller 419

Adding the custom view controller 420

Setting up the MapController in the Main_iPad.Storyboard 420

Test 426

Putting MapKit through Its Paces 428

MKMapView 428

Enhancing the map 429

Changing the Map Type 435

Adding Annotations 437

Creating the annotation 437

Displaying the map title and annotations 441

Going to the Current Location 446

Fixing the Status Bar 451

Update the iPhone Storyboard 454

Chapter 18: Geocoding 455

Understanding Geocoding on the iPad 455

Reverse Geocoding 458

Chapter 19: Finding a Location 465

Setting Up the Find Controller 465

Adding the custom view controller 466

Setting up FindControllerin the Main_iPad File 466

Implementing the Find Controller 469

Adding the Map View 469

Getting the text 470

Disabling cell highlighting 477

Finding the Location 477

Making the Map Title the Found Location 484

Adding the FindController to the iPhone Storyboard 485

Chapter 20: Selecting a Destination 487

The Plan 487

Setting Up the DestinationController for the iPad Storyboard 488

Adding the custom view controller 488

Setting up the DestinationController in the Main_iPad.storyboard 489

Adding a Modal View 494

Implementing a Table View 497

Creating the Table View 498

Adding sections 499

Displaying the cell 501

Working with user selections 503

Saving the Destination Choice and Selecting a Destination 511

Displaying the Destination table 516

Testing 517

Adding Destination Support to the iPhone Storyboard 518

A Word about Adding Settings 519

What’s Next? 519

Part VI: The Part of Tens 521

Chapter 21: Ten Ways to Be Successful with Apps 523

Make a Million Dollars in a Week 523

Build a Portfolio 524

Build App Icons 524

Design User Interfaces 524

Build Back Ends 525

Socialize with Apps 525

Talk About Apps with People Who Want Them 525

Promote Apps 525

Provide Support to Users 526

Fix Bugs 526

Chapter 22: Ten Ways to Be a Happy Developer 527

Keep Things Loosely Coupled 527

Remember Memory 528

Don’t Reinvent the Wheel 528

Understand State Transitions 529

Do the Right Thing at the Right Time 530

Avoid Mistakes in Error Handling 530

Use Storyboards 531

Remember the User 531

Keep in Mind That the Software Isn’t Finished Until the Last User Is Dead 531

Keep It Fun 531

Index 533

From the B&N Reads Blog

Customer Reviews