Home > Store

iOS 8 for Programmers: An App-Driven Approach with Swift, 3rd Edition

Register your product to gain access to bonus material or receive a coupon.

iOS 8 for Programmers: An App-Driven Approach with Swift, 3rd Edition


  • Sorry, this book is no longer in print.
Not for Sale

eBook (Watermarked)

  • Your Price: $25.59
  • List Price: $31.99
  • Includes EPUB, MOBI, and PDF
  • About eBook Formats
  • This eBook includes the following formats, accessible from your Account page after purchase:

    ePub EPUB The open industry format known for its reflowable content and usability on supported mobile devices.

    MOBI MOBI The eBook format compatible with the Amazon Kindle and Amazon Kindle applications.

    Adobe Reader PDF The popular standard, used most often with the free Adobe® Reader® software.

    This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.



  • Readers learn to build seven fully-featured iOS apps
  • Full source code is available for free download for each of the seven apps
  • Includes a full chapter on how to sell and market on the App Store


  • Copyright 2015
  • Edition: 3rd
  • Book
  • ISBN-10: 0-13-396526-0
  • ISBN-13: 978-0-13-396526-1

The professional programmer’s Deitel® guide to iPhone® and iPad® app development using iOS® 8, Swift™, Xcode® 6, and Cocoa Touch®

Billions of apps have been downloaded from Apple’s App Store! This book gives you everything you’ll need to start developing great iOS 8 apps quickly using Swift–Apple’s programming language of the future. You’ll also learn what makes a great app and how to publish your apps in the App Store. The book uses an app-driven approach–each new technology is discussed in the context of seven fully tested iOS 8 apps, complete with syntax shading, code highlighting, code walkthroughs and sample outputs. Apps you’ll develop include:

  • Welcome App
  • Cannon Game
  • Tip Calculator
  • Doodlz
  • Twitter® Searches
  • Address Book
  • Flag Quiz

Practical, Example-Rich Coverage of:

  • iOS® 8, XCode® 6, Swift
  • Object-Oriented Programming with Swift and Cocoa Touch®
  • UI Design, Storyboards, Auto Layout, Outlets, Outlet Collections, Actions
  • View Controllers, Views, View Animations
  • Event Handling, Multi-Touch
  • Single View, Master-Detail, Game Templates
  • Accessibility, Internationalization
  • Core Data Database Access
  • User Defaults, iCloud Key—Value Storage
  • Social Framework Sharing
  • SpriteKit Game Programming: Animation, Graphics, Physics, Collision Detection
  • Accelerometer and Motion Event Handling
  • Grand Central Dispatch
  • App Store, Pricing, Monetization and more.

IMPORTANT NOTE ABOUT XCODE AND SWIFT: With Xcode 6.3 and Swift 1.2, Apple introduced several changes in Swift that affect the book's source code. Please visit www.deitel.com/books/iOS8FP1 for updated source code. The changes do not affect Xcode 6.2 users. You can download Xcode 6.2 from developer.apple.com/downloads/index.action (you’ll have to log in with your Apple developer account to see the list of downloads).


Visit www.deitel.com

  • Download code examples
  • For information on Deitel’s Dive Into® Series programming training courses delivered at organizations worldwide visit www.deitel.com/training or write to deitel@deitel.com
  • Join the Deitel social networking communities on Facebook® at facebook.com/DeitelFan, Twitter® at @deitel, Google+ at google.com/+DeitelFan, LinkedIn® at bit.ly/DeitelLinkedIn, YouTube™ at youtube.com/user/DeitelTV and subscribe to the Deitel® Buzz Online e-mail newsletter at www.deitel.com/newsletter/subscribe.html

About This Book

Sales of iOS devices and app downloads have been explosive. The first-generation iPhone sold 6.1 million units in its initial five quarters of availability (bit.ly/iPhoneGen1l). The iPhone 6 and iPhone 6 Plus, released in September 2014, sold over 10 million combined in their first weekend of availability (bit.ly/FirstiPhone6Weekend). iPad sales are equally impressive. The first generation iPad, launched in April 2010, sold 3 million units in its first 80 days of availability (bit.ly/iPadGen1). In just the first quarter of 2014, Apple sold a record 26 million iPads (bit.ly/iPad2014Q1). At the time of this writing, there were over 1.2 million apps in the App Store (bit.ly/iOSApps2014) and more than 75 billion apps have been downloaded!

This book presents leading-edge computing technologies for professional software developers. At the heart of the book is the Deitel “app-driven approach”– a variant of Deitel’s live-code approach–concepts are presented in the context of complete working iOS apps, rather than using code snippets. The introduction and app test drives at the beginning of each chapter show one or more sample executions. The book’s source code is available at: www.deitel.com/books/iOS8FP1.

You’ll quickly learn everything you need to start building iOS 8 apps–beginning with a test-drive of the Tip Calculator app in Chapter 1, then building your first apps in Chapter 2 with visual programming and in Chapter 3 with Swift. By the time you reach Chapter 9, you’ll be ready to create your own apps for submission to the App Store. We’ll overview the submission process, including uploading your apps, deciding whether to sell your apps or offer them for free, and marketing them using in-app advertising, social media, Internet public relations and more.



Download the source code files from iOS 8 for Programmers, Third Edition.


Related Articles

Getting Started with Xamarin Forms

Launching iOS Applications Via URL

Author's Site

Please visit the author's site here.

Sample Content

Online Sample Chapter

Build a Tip Calculator App in iOS 8 Using Swift

Sample Pages

Download the sample pages (includes Chapter 3 and Index)

Table of Contents

Preface         xix

Before You Begin         xxvii

Chapter 1: Introduction to iOS 8 App Development and Swift         1

1.1   Introduction   2

1.2   iPhone and iPad Sales Data   3

1.3   Gestures   4

1.4   Sensors   5

1.5   Accessibility   6

1.6   iPhone 6 and iPhone 6 Plus   7

1.7   iOS Operating System History and Features   8

1.8   iOS 8   16

1.9   Apple Watch   18

1.10 App Store   19

1.11 Objective-C   20

1.12 Swift: Apple’s Programming Language of the Future   20

1.13 Can I Use Swift Exclusively?   24

1.14 Cocoa Touch® iOS Frameworks   25

1.15 Xcode 6® Integrated Development Environment   31

1.16 Object Oriented-Programming Review   33

1.17 Test-Driving the Tip Calculator App in the iPhone and iPad Simulators   36

1.18 What Makes a Great App?   38

1.19 iOS Security   40

1.20 iOS Publications and Forums   41

1.21 Wrap-Up   42

Chapter 2: Welcome App         43

Dive-Into® Xcode: Introducing Visual User Interface Design with Cocoa Touch, Interface Builder, Storyboarding and Auto Layout, Universal Apps, Accessibility, Internationalization

2.1 Introduction   44

2.2 Technologies Overview   45

2.3 Creating a Universal App Project with Xcode   46

2.4 Xcode Workspace Window   49

2.5 Storyboarding the Welcome App’s UI   52

2.6 Running the Welcome App   64

2.7 Making Your App Accessible   67

2.8 Internationalizing Your App   69

2.9 Wrap-Up   74

Chapter 3: Tip Calculator App         75

Introducing Swift, Text Fields, Sliders, Outlets, Actions, View Controllers, Event Handling, NSDecimalNumber, NSNumberFormatter and Automatic Reference Counting

3.1 Introduction   76

3.2 Technologies Overview   77

3.3 Building the App’s UI   85

3.4 Creating Outlets with Interface Builder   96

3.5 Creating Actions with Interface Builder   99

3.6 Class ViewController   100

3.7 Wrap-Up   109

Chapter 4: Twitter® Searches App         111

Master-Detail Applications, Split View Controllers, Navigation Controllers, Storyboard Segues, Social Framework Sharing, User Defaults, iCloud Key—Value Storage, Collections, Web Views, Alert Dialogs

4.1 Introduction   112

4.2 Test-Driving the App   113

4.3 Technologies Overview   120

4.4 Building the App’s UI   128

4.5 Class Model   131

4.6 Class MasterViewController   141

4.7 Class DetailViewController   154

4.8 Wrap-Up   157

Chapter 5: Flag Quiz App         158

UISegmentedControls, UISwitches, Outlet Collections, View Animations, UINavigationController, Segues, NSBundle, Scheduling Tasks with Grand Central Dispatch

5.1 Introduction   159

5.2 Test-Driving the Flag Quiz App   161

5.3 Technologies Overview   165

5.4 Building the GUI   170

5.5 Model Class   178

5.6 QuizViewController Class   184

5.7 SettingsViewController Class   193

5.8 Wrap-Up   196

Chapter 6: Cannon Game App         198

Xcode Game Template, SpriteKit, Animation, Graphics, Sound, Physics, Collision Detection, Scene Transitions, Listening for Touches

6.1   Introduction   199

6.2   Test-Driving the Cannon Game App   202

6.3   Technologies Overview   203

6.4   Creating the Project and Classes   209

6.5   Class GameViewController   211

6.6   Class Blocker   213

6.7   Class Target   218

6.8   Class Cannon   221

6.9   Class GameScene   226

6.10 Class GameOverScene   235

6.11 Programmatic Internationalization   237

6.12 Wrap-Up   240

Chapter 7: Doodlz App         242

Multi-Touch Event Handling, Graphics, UIBezierPaths, Drawing with a Custom UIView Subclass, UIToolbar, UIBarButtonItem, Accelerometer Sensor and Motion Event Handling

7.1   Introduction   243

7.2   Test-Driving the Doodlz App   244

7.3   Technologies Overview   249

7.4   Building the App’s UI and Adding Its Custom Classes   251

7.5   ViewController Class   257

7.6   Squiggle Class   261

7.7   DoodleView Class   262

7.8   ColorViewController Class   267

7.9   StrokeViewController Class   269

7.10 Wrap-Up   271

Chapter 8: Address Book App         273

Core Data Framework, Master-Detail Template with Core Data Support, Xcode Data Model Editor, UITableView with Static Cells, Programmatically Scrolling UITableViews

8.1   Introduction   274

8.2   Test-Driving the Address Book App   276

8.3   Technologies Overview   279

8.4   Creating the Project and Configuring the Data Model   282

8.5   Building the GUI   285

8.6   MasterViewController Class   288

8.7   DetailViewController Class   299

8.8   AddEditTableViewController Class   303

8.9   AppDelegate Class   309

8.10 Wrap-Up   311

Chapter 9: App Store and App Business Issues         312

Introducing the iOS Developer Program and iTunes® Connect

9.1   Introduction   313

9.2   iOS Developer Program: Setting Up Your Profile for Testing and Submitting Apps   313

9.3   iOS Human Interface Guidelines   317

9.4   Preparing Your App for Submission through iTunes Connect   318

9.5   Pricing Your App: Fee or Free   321

9.6   Monetizing Apps   324

9.7   Managing Your Apps with iTunes Connect   327

9.8   Information You’ll Need for iTunes Connect   328

9.9   iTunes Connect Developer Guide: Steps for Submitting Your App to Apple   330

9.10 Marketing Your App   331

9.11 Other Popular Mobile App Platforms   336

9.12 Tools for Multiple-Platform App Development   336

9.13 Wrap-Up   337

Index          339


Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership