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.

About this Title

Pages: 296
Published: 2015-03-19
Release: P2.0 (2015-04-21)
ISBN: 978-1-94122-264-5

Whether you’re starting out or starting over, iOS 8 has set developers on a new path. With a capable and practical new programming language, a wide variety of new features and frameworks, and a new spirit of openness and connectivity, it’s a long way from the locked-down, webapps-only original iPhone.

iOS 8 SDK Development is a practical guide to the essentials of developing for iOS 8. You’ll start building and revising a real app that’s written entirely in Apple’s new Swift programming language. You’ll send network requests and handle the responses, build from one screen to many, adapt from the close confines of the iPhone screen to the wide expanse of the iPad, and accommodate the big iPhone 6 in between.

You’ll master the fundamentals of keeping apps responsive with Grand Central Dispatch, organize your logic into View Controllers, delight users with multi-touch gestures and photo manipulation, and offer services to other apps through iOS 8 Extensions. You’ll also learn the fine arts of testing, debugging, and the care and feeding of your app before submitting to the App Store—and after it’s in the public’s hands.

The iOS 8 SDK changes everything. Change with it. It’s only getting better.

Read the 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.

Upcoming Author Events

  • 2017-03-30: Janie Clayton
    Buffers and Encoders and Command Queues, Oh My! Metal was announced in 2014, yet it still hasn't really been widely adopted. It can be incredibly difficult to find a good starting point with Metal and many of you get discouraged. You run into a wall o (iOSCon 2017, London, England)
  • 2017-04-21: Chris Adamson
    Media Frameworks and Swift: This Is Fine (CocoaConf Chicago)
  • 2017-04-21: Janie Clayton
    Buffers and Encoders and Command Queues, Oh My! Many people, including myself, were really excited when Metal was announced in 2014. We thought about all the neat graphics programming we would be able to do. Then we watched the WWDC videos and ran into (CocoaConf Chicago)
  • 2017-04-22: Chris Adamson
    Firebase: Totally Not Parse All Over Again (Unless It Is) (CocoaConf Chicago)