Skip to content

seanzi86/HackingWithSwift

Repository files navigation

HackingWithSwift

Project 1: Storm Viewer

Constants and variables, UITableView, UIImageView, FileManager, storyboards

Get started coding in Swift by making an image viewer app and learning key concepts.


Project 2: Guess the Flag

Asset catalogs, UIButton, CALayer, UIColor, UIAlertController

Make a game using UIKit, and learn about integers, buttons, colors and actions.


Project 3: Social Media

UIBarButtonItem, UIActivityViewController, URL

Let users share to Facebook and Twitter by modifying project 1.


Project 4: Easy Browser

loadView(), WKWebView, URLRequest, UIToolbar, UIProgressView, key-value observing

Embed Web Kit and learn about delegation, KVO, classes and UIToolbar.


Project 5: Word Scramble

Closures, method return values, booleans, NSRange

Create an anagram game while learning about closures and booleans.


Project 6: Auto Layout

NSLayoutConstraint, Visual Format Language, layout anchors

Get to grips with Auto Layout using practical examples and code.


Project 7: Whitehouse Petitions

JSON, Data, UITabBarController

Make an app to parse Whitehouse petitions using JSON and a tab bar.


Project 8: 7 Swifty Words

addTarget(), enumerated(), count(), index(of:), joined(), property observers, range operators

Build a word-guessing game and master strings once and for all.


Project 9: Grand Central Dispatch

DispatchQueue, perform(inBackground:)

Learn how to run complex tasks in the background with GCD.


Project 10: Names to Faces

UICollectionView, UIImagePickerController, UUID, classes

Get started with UICollectionView and the photo library.


Project 11: Pachinko

SpriteKit, physics, blend modes, radians, CGFloat, NSKeyedUnarchiver

Dive into SpriteKit to try your hand at fast 2D games.


Project 12: UserDefaults

UserDefaults, NSCoding, Codable, NSKeyedArchiver

Learn how to save user settings and data for later use.


Project 13: Instafilter

Core Image, UISlider, writing to the photo library

Make a photo manipulation program using Core Image filters and a UISlider.


Project 14: Whack-a-Penguin

SKCropNode, SKTexture, asyncAfter()

Build a game using SKCropNode and a sprinkling of Grand Central Dispatch.


Project 15: Animation

Core Animation, CGAffineTransform

Bring your interfaces to life with animation, and meet switch/case at the same time.


Project 16: JavaScript Injection

Safari extensions, UITextView, NotificationCenter

Extend Safari with a cool feature for JavaScript developers.


Project 17: Swifty Ninja

SKShapeNode, AVAudioPlayer, UIBezierPath, custom enums

Learn to draw shapes in SpriteKit while making a fun and tense slicing game.


Project 18: Debugging

print(), assert(), breakpoints, and view debugging

Everyone hits problems sooner or later, so learning to find and fix them is an important skill.


Project 19: Capital Cities

MKMapView, MKAnnotation, MKPinAnnotationView, CLLocationCoordinate2D

Teach users about geography while you learn about MKMapView and annotations.


Project 20: Fireworks Night

Timer, follow(path:), sprite color blending, shake gestures

Learn about timers and color blends while making things go bang!


Project 21: Local Notifications

UNUserNotificationCenter, UNNotificationRequest, UNMutableNotificationContent, UNCalendarNotificationTrigger, and UNTimeIntervalNotificationTrigger

Send reminders, prompts and alerts even when your app isn't running.


Project 22: Detect-a-Beacon

CLLocationManager, CLBeaconRegion, CLProximity

Learn to find and range iBeacons using our first project for a physical device.


Project 23: Space Race

Per-pixel collision detection, advancing particle systems, linear and angular damping

Dodge space debris while you learn about per-pixel collision detection.


Project 24: Swift Extensions

Language extensions, Swift playgrounds

Try your hand at improving the built-in data types of Swift.


Project 25: Selfie Share

Multipeer Connectivity Framework

Make a multipeer photo sharing app in just 150 lines of code.


Project 26: Marble Maze

Core Motion, collision bitmasks, array reversing, compiler directives

Respond to device tilting by steering a ball around a vortex maze.


Project 27: Core Graphics

Core Graphics

Draw 2D shapes using Apple's high-speed drawing framework.


Project 28: Secret Swift

Touch ID and Face ID, device keychain

Save user data securely using the device keychain and Touch ID.


Project 29: Exploding Monkeys

Mixing UIKit and SpriteKit, texture atlases, scene transitions, destructible terrain

Remake a classic DOS game and learn about destructible terrain and scene transitions.


Project 30: Instruments

Profiling, shadows, image caching

Become a bug detective and track down lost memory, slow drawing and more.


Project 31: Multibrowser

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.


About

HackingWithSwift source code

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published