Constants and variables, UITableView, UIImageView, FileManager, storyboards
Get started coding in Swift by making an image viewer app and learning key concepts.
Asset catalogs, UIButton, CALayer, UIColor, UIAlertController
Make a game using UIKit, and learn about integers, buttons, colors and actions.
UIBarButtonItem, UIActivityViewController, URL
Let users share to Facebook and Twitter by modifying project 1.
loadView(), WKWebView, URLRequest, UIToolbar, UIProgressView, key-value observing
Embed Web Kit and learn about delegation, KVO, classes and UIToolbar.
Closures, method return values, booleans, NSRange
Create an anagram game while learning about closures and booleans.
NSLayoutConstraint, Visual Format Language, layout anchors
Get to grips with Auto Layout using practical examples and code.
JSON, Data, UITabBarController
Make an app to parse Whitehouse petitions using JSON and a tab bar.
addTarget(), enumerated(), count(), index(of:), joined(), property observers, range operators
Build a word-guessing game and master strings once and for all.
DispatchQueue, perform(inBackground:)
Learn how to run complex tasks in the background with GCD.
UICollectionView, UIImagePickerController, UUID, classes
Get started with UICollectionView and the photo library.
SpriteKit, physics, blend modes, radians, CGFloat, NSKeyedUnarchiver
Dive into SpriteKit to try your hand at fast 2D games.
UserDefaults, NSCoding, Codable, NSKeyedArchiver
Learn how to save user settings and data for later use.
Core Image, UISlider, writing to the photo library
Make a photo manipulation program using Core Image filters and a UISlider.
SKCropNode, SKTexture, asyncAfter()
Build a game using SKCropNode and a sprinkling of Grand Central Dispatch.
Core Animation, CGAffineTransform
Bring your interfaces to life with animation, and meet switch/case at the same time.
Safari extensions, UITextView, NotificationCenter
Extend Safari with a cool feature for JavaScript developers.
SKShapeNode, AVAudioPlayer, UIBezierPath, custom enums
Learn to draw shapes in SpriteKit while making a fun and tense slicing game.
print(), assert(), breakpoints, and view debugging
Everyone hits problems sooner or later, so learning to find and fix them is an important skill.
MKMapView, MKAnnotation, MKPinAnnotationView, CLLocationCoordinate2D
Teach users about geography while you learn about MKMapView and annotations.
Timer, follow(path:), sprite color blending, shake gestures
Learn about timers and color blends while making things go bang!
UNUserNotificationCenter, UNNotificationRequest, UNMutableNotificationContent, UNCalendarNotificationTrigger, and UNTimeIntervalNotificationTrigger
Send reminders, prompts and alerts even when your app isn't running.
CLLocationManager, CLBeaconRegion, CLProximity
Learn to find and range iBeacons using our first project for a physical device.
Per-pixel collision detection, advancing particle systems, linear and angular damping
Dodge space debris while you learn about per-pixel collision detection.
Language extensions, Swift playgrounds
Try your hand at improving the built-in data types of Swift.
Multipeer Connectivity Framework
Make a multipeer photo sharing app in just 150 lines of code.
Core Motion, collision bitmasks, array reversing, compiler directives
Respond to device tilting by steering a ball around a vortex maze.
Core Graphics
Draw 2D shapes using Apple's high-speed drawing framework.
Touch ID and Face ID, device keychain
Save user data securely using the device keychain and Touch ID.
Mixing UIKit and SpriteKit, texture atlases, scene transitions, destructible terrain
Remake a classic DOS game and learn about destructible terrain and scene transitions.
Profiling, shadows, image caching
Become a bug detective and track down lost memory, slow drawing and more.
UIStackView, multitasking for iPad, size classes
Get started with UIStackView and see just how easy iPad multitasking can be.
###Project 32: SwiftSearcher Core Spotlight, SFSafariViewController, NSAttributedString, Dynamic Type, automatic UITableViewCell sizing
Add your app's content to iOS 9's Spotlight search and take advantage of the new Safari integration.