small medium large xlarge

iOS 8 SDK Development: Creating iPhone and iPad Apps with Swift


Cover image for iOS 8 SDK Development

iOS 8 SDK Development

Creating iPhone and iPad Apps with Swift


The iOS 8 SDK changes everything. New programming language, new ways to work with other apps, new tools to do cool stuff. In a world of iPhones and iPads, it’s a great time to make a fresh start developing apps for the platform. This book guides you through the state of the art of iOS development, including the radically overhauled Xcode 6 toolchain, the iOS 8 SDK, and the new iPhone 6 and iPhone 6 Plus. Entirely rewritten to use Apple’s new Swift programming language, this book will take you through the fundamentals of writing apps that are responsive, adaptive, practical, and exciting.

Customer Reviews

Not many books cover both programming interfaces and deeper software engineering
topics. It’s refreshing to see both covered, expertly, in one book. Chris and
Janie are masters at making technical content approachable. It’s like having two
of your best friends teaching you iOS.

- Mark Dalrymple

Author of "Advanced Mac OS X Programming: The Big Nerd Ranch Guide" and co-founder of CocoaHeads, the international Mac and iOS programming community

iOS 8 SDK Development is a fantastic resource for learning how to make a modern
iOS app. Whether you’re new to iOS in general or just new to Swift, you will leave
the book with a fully functional, modern iOS app with all of the most important
features covered. This book is my new go-to recommendation for those looking to
get started on the platform.

- Jeff Kelley

iOS developer at Detroit Labs and author of "Learn Cocoa Touch for iOS"

This is a really good book. The app you will create while you learn Swift and iOS
development is even quite usable when you are done. Learning Swift is essential
now in the Apple development world, and this book does a great job teaching it.
The authors have put a lot of thought and craft into it, and you will benefit. I
highly recommend it.

- Eric Knapp

Program Director, Mobile Applications Development, Madison College

Whether you’re new to iOS programming or just need some help getting up to
speed on iOS 8 and Swift, this is the perfect book for you. Chris and Janie take
you on a well-thought-out and fun journey into iOS SDK development.

- Dave Klein

Founder of CocoaConf and author of "Grails: A Quick-Start Guide"

iOS 8 SDK Development is an excellent book for experienced developers hoping to
develop iOS applications professionally. It is a guided tour of the Swift language,
an extended SDK tutorial using a variety of modern iOS APIs, and a showcase of
effective techniques for organizing and editing projects in the latest version of

- Steve Huwig

A new programming language and new APIs. Whether you are a seasoned developer
or a beginner, there’s a lot to learn in the new iOS 8 SDK. Chris and Janie
take your hand and walk you through Swift and the new APIs, providing great
insights and detailed explanations while building a real application.

- Cesare Rocchi

, Studio Magnolia

See All Reviews

What You Need

This title covers the iOS 8 SDK and Xcode 6. Readers will need a Mac with OS X 10.9 (Mavericks), or later, and Xcode 6 (free from the Mac App Store).

User Level

Contents & Extracts

  • Acknowledgments
    • From Chris Adamson
    • From Janie Clayton
  • Introduction
    • About This Edition
    • So Here’s the Plan
    • Expectations and Technical Requirements
    • Online Resources
    • And So It Begins
  • Playing Around with Xcode
    • Xcode Playgrounds
    • Digging Into the Docs
    • Wrap-Up
  • Building Adaptive User Interfaces
    • Our First Project
    • The Xcode Window
    • Building Our User Interface
    • Autolayout
    • Connecting User Interface to Code
    • Coding the App
    • Wrap-Up
  • Programming in Swift for iOS
    • Introducing Swift
    • Managing an Object’s Properties
    • The iOS Programming Stack
    • Building Views with UIKit
    • Strings excerpt
    • Collections
    • Optionals
    • Internationalization
    • Wrap-Up
  • Testing Apps excerpt
    • Unit Tests
    • Creating Tests in Xcode
    • Test-Driven Development
    • Creating Tests
    • Testing Asynchronously
    • Testing Frameworks
    • Wrap-Up
  • Presenting Data in Table Views
    • Tables on iOS
    • Table Classes
    • Creating and Connecting Tables
    • Filling In the Table
    • Customizing Table Appearance
    • Cell Reuse
    • Custom Table Cells
    • Pull-to-Refresh
    • Wrap-Up
  • Waiting for Things to Happen with Closures
    • Setting Up Twitter API Calls
    • Encapsulating Code in Closures
    • Using the Twitter SLAccount
    • Making a Twitter API Request
    • Parsing the Twitter Response
    • Wrap-Up
  • Doing Two Things at Once with Closures
    • Grand Central Dispatch
    • Concurrency and UIKit
    • Do-It-Yourself Concurrency excerpt
    • Wrap-Up
  • Growing Our Application
    • Working with Multiple View Controllers
    • Refactoring in Xcode
    • Building Our Own Delegate
    • Making the Twitter Code More General-Purpose
    • Using Another TwitterAPIRequest
    • Wrap-Up
  • Navigating Between View Controllers
    • Navigation Controllers
    • The Navigation Bar
    • Navigating Between View Controllers
    • Using the Storyboard Segue
    • Sharing Data Between View Controllers
    • Modal Navigation
    • Exit Segues
    • Wrap-Up
  • Taking Advantage of Large Screens
    • Split Views on iPad
    • Split Views on the iPhone
    • Size Classes and the iPhone 6
    • Wrap-Up
  • Recognizing Gestures
    • Gesture Recognizers
    • Pinching and Panning
    • Affine Transformations
    • Transforming the Image View
    • Subview Clipping
    • Wrap-Up
  • Working with Photos
    • Photo Assets and PHAsset Class
    • Fetching Our Assets
    • Core Image
    • Wrap-Up
  • Launching, Backgrounding, and Extensions
    • The App Life Cycle
    • Opening via URLs
    • App Extensions
    • Creating a Keyboard Extension
    • Wrap-Up
  • Debugging Apps
    • println: The First Line of Defense Against Bugs
    • Breakpoints
    • Setting Up Your Debugging Environment
    • Wrap-Up
  • Publishing to the App Store
    • Protecting Our Code with Source Control
    • Running on the Device
    • Icons and Launch Images
    • Submitting Apps for Review
    • After We Ship
    • Onward!


Chris Adamson is a writer, speaker, and independent developer specializing in media software development for iOS and OS X. Based in Grand Rapids, MI, he writes the [Time code ]; blog on media software development and tweets as @invalidname.

Janie Clayton is a software engineer at SonoPlot specializing in graphics and audio programming for iOS. Janie’s Twitter handle is @redqueencoder and her personal blog is Janie lives in Madison, WI.