Ultimate Swift Programming

Video description

Building apps for iPhone, iPad, and Mac just got easier, faster, and safer, now that Apple has released Swift. In this video workshop, Secret Lab co-founders Jon Manning and Paris Buttfield-Addison, together with Tim Nugent, take you through the components used for building iOS and OS X apps with Swift, and then step through the creation of a simple notepad from scratch, with counterparts for each operating system.

If you’re an experienced programmer who’s never touched Apple developer tools before, you’ll learn the basics for putting the Swift language, the Xcode IDE, Interface Builder, and many other Apple technologies to work. With this video workshop, you’ll learn how to turn your app ideas into reality.

Topics include:

  • Learn Swift basics, including variables, classes, functions, closures, control flow, and access control
  • Get up to speed on Xcode, Interface Builder, and Apple’s developer portal
  • Understand the OS X and iOS application lifecycle, and the model-view-controller paradigm
  • Work with views, view controllers, layout constraints, and touch and gesture recognizers
  • Include graphics, animations, layers, shapes, images, and blend modes
  • Make use of videos, users’ music and photos, speech, and the camera
  • Work with maps, location, motion sensors, notifications, and TouchID
  • Learn about document-based apps, background processing, and handoffs between OS X and iOS
  • Store and query files in iCloud, and sync between platforms

Secret Lab is a mobile consulting and product development company based in Hobart, Tasmania, Australia. Jon Manning, Tim Nugent, and Paris Buttfield-Addison are all mobile software engineers, game designers, and computing researchers.

Publisher resources

View/Submit Errata

Table of contents

  1. Swift
    1. Welcome to Swift
    2. Variables, Types of Data and Collections
    3. Control Flow, Functions and Closures
    4. Objects Extensions
    5. Operators
  2. Tools and Services
    1. Xcode
    2. Interface Builder
    3. iOS Simulator
    4. iTunes Connect and TestFlight
    5. Developer Portal
  3. The Basics
    1. Your First iOS App
    2. Your First OS X App
    3. iOS App Lifecycle
    4. OS X Lifecycle
    5. Organizing Your Project in Xcode
    6. Targets vs Products
  4. Architecture
    1. Model-View-Controller
    2. Windows and Window Controllers
    3. View Controllers, Custom View Controllers
    4. Actions and Outlets
    5. Operation Queues
    6. AppNap
    7. NSNotificationCenter
  5. Views and View Controllers
    1. Layouts with Constraints
    2. Constraints on iOS, Size Classes
    3. Touches and Gesture Recognizers
    4. Table Views on iOS
    5. Table Views on OS X
    6. Scroll Views
    7. Web Views
    8. Popovers
    9. Custom iOS Keyboards
  6. Graphics and Animation
    1. Views
    2. Custom Views
    3. Bezier Paths, Filling and Stroking Shapes
    4. Images
    5. Blend Modes
    6. Layers
    7. Shape Layers, Masking with Layers
    8. Transforming Layers, Applying Animations to Layers
    9. CAKeyframeAnimation, Using Different Animation Curves
    10. UIDynamics on iOS
    11. UIView Animations
    12. Graphics on OS X
  7. Media
    1. Video Playback with AV Foundation
    2. Accessing the iTunes Library on iOS
    3. Using the Camera and Photos
    4. Sharing and Share Extensions
    5. Game Controllers
  8. Text and Speech
    1. Localization and Internationalization
    2. Text - NSFormatter / DataDetector / Dynamic Text
    3. Speech Synthesis
  9. Real World
    1. Getting the Device's Location
    2. Maps
    3. Geocoding and Reverse Geocoding
    4. Motion Sensors on iOS
    5. Local Notifications on iOS
    6. Notifications on OS X
    7. Appearance Customization
    8. TouchID
  10. Working with Data
    1. Networking with NSURLSession
    2. NSUserDefaults, Accessing the File System, Working within the Sandbox
    3. NSBundle
    4. Accessing the Address book
    5. Accessing the Calendar
    6. UIDocument
    7. NSDocument
    8. Undo
    9. Background Processing and Non Standard Apps
    10. Error Handling
  11. iCloud
    1. Intro to iCloud, Setting up iCloud
    2. Key-value Store and CloudKit
    3. Storing Files in iCloud. Using NSMetadataQuery.
  12. Diary App for iOS
    1. Features and Architecture
    2. Document Class Setup and iCloud
    3. Document List
    4. Document Editing and Saving
    5. Adding Image Capture
    6. Adding Location Capture
    7. Document: Handling the Keyboard
    8. Conflict Handling
  13. Diary App for Mac
    1. App Setup and iCloud Setup
    2. Document Setup
    3. Document Editing and Saving
    4. Viewing Location and Image
    5. Adding Handoffs to the iOS app
  14. Instruments and Debugging
    1. Using Instruments
    2. Using the Debugger
    3. NS File Manager

Product information

  • Title: Ultimate Swift Programming
  • Author(s): Jonathon Manning
  • Release date: February 2015
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9781491912010