Description
Stone River Elearning – iOS 12 and Swift 4 Crash Course
This course is designed like an in-person coding bootcamp to give you the most amount of content and help with the least amount of cost.
NO PRIOR CODING EXPERIENCE REQUIRED
Here are some of the things you’ll be able to do after taking this course:
- Submit apps to the app store
- Understand programming & basic algorithms
- Work fluently with Swift 4 & iOS 12
- Apply to jr iOS development jobs
- Work as an iOS contractor
If you are absolutely new to programming you should at the beginning of the course and go to the end.
I’ve designed this course to take you down a guided learning path. Lectures are not broken out by specific topics. You build apps and then learn a ton of principles within those apps. So don’t skip around!
If you already know Swift then you can skip the Swift section since the changes in Swift between iOS 11 and 12 are minor.
If you’ve never programmed before, make sure you DO take the Swift lessons. We’ll teach you core foundational principles so you can build complex apps.
Course Curriculum
Getting ed with iOS 12
- Course overview (7:49)
- MUST WATCH Installing Xcode & understanding Xcode versions (4:17)
- How to get Xcode in dark theme mode (1:38)
- Building your very first iOS app (8:22)
- Building the Hustle App: Graphics, UI, and Sound (21:18)
Introduction to Programming & Swift 4 Basics
- Variables, operators, & how computers work (16:30)
- Strings in Swift 4 (15:06)
- Numbers in Swift 4 (19:38)
- Functions in Swift 4 (22:25)
- Booleans & conditional logic in Swift 4 (20:43)
- Constants & logical operators in Swift 4 (9:33)
- Arrays in Swift 4 (12:51)
- Loops in Swift 4 (18:45)
- Dictionaries in Swift 4 (18:29)
- Object oriented programming in Swift 4 (11:49)
- Inheritance in Swift 4 (8:04)
- Polymorphism in Swift 4 (8:06)
- Optionals in Swift 4 (20:10)
Git & Version Control
- Git & Version Control: The fun way (10:49)
- Terminal Basics – Changing directories (5:49)
- Terminal Basics – Copying & renaming files (8:38)
- Terminal Basics – Creating directories & files (4:11)
- Terminal Basics – Deleting files & directories (5:43)
- Git Basics (16:58)
- Setting up Github (4:18)
- Working with Local & Remote Repositories (10:55)
- Handling Git Merge Conflicts (16:33)
Swoosh App- Intro to Interface Builder & Auto Layout in Xcode 10
- Swoosh – Creating the welcome screen (24:57)
- Swoosh – Working with frames (15:39)
- Swoosh – Intro to auto layout (support multiple screen sizes) (26:21)
- Swoosh – Working with stack views (26:15)
- Swoosh – Intro to segues (changing screens) (9:16)
- Swoosh – Refactoring in Xcode 9 (9:22)
- Swoosh – Debugging setValue forUndefinedKey (3:24)
- Swoosh – Programmatic segues (8:38)
- Swoosh – IBActions (handling events) & data models (15:56)
- Swoosh – Passing data between view controllers (11:25)
Profile App- Digging Deeper With Auto Layout
- Auto Layout for iPhones (21:52)
- Auto Layout for iPads & size classes (19:38)
Window Shopper App- Your First Fully Functional iOS 12 App
- Creating custom text fields (17:20)
- Input accessory view and IBDesignable (14:46)
- Creating simple unit tests (16:17)
- Writing logic for calculations (12:45)
- Custom drawing in iOS 12 with drawRect (12:05)
Computers & Code- Crash Course in Computer Science for Beginners
- How Computers Work (12:22)
- Understanding Binary (9:26)
- Heap vs. Stack (8:41)
- iOS Binary App – Building UI _ UX (20:04)
- iOS Binary App – Creating BinaryDecimal Class (20:30)
- iOS Binary App – Finishing Up (10:11)
- iOS Binary App – Challenge (1:38)
- How Code Works (9:44)
- Variables & Storage Capacity (6:16)
- Understanding Hexadecimal (5:52)
Coder Swag App- Tables & Data in iOS 12
- Project creation & IBOutlets (22:13)
- Tableviews, delegate, and data source (32:57)
- Collection views (grid layouts) (12:16)
- Working with data models (13:19)
- Displaying data in collection view cells (19:42)
Intro to Model View Controller
- MVC in Theory (5:59)
- Creating Xcode Project (3:10)
- Setting Up Project Groups for MVC _ Examining ViewController Controller Layer (5:15)
- Creating AppleProduct Model Layer (6:40)
- Creating CustomPrettyView View Layer (8:20)
- Connecting View to Controller (11:40)
- Securing Model Layer (4:08)
- Challenge – MVC (1:33)
XYZ App – Working with iOS Accelerometer
- XYZ – Intro to App (1:49)
- XYZ – Creating Project (5:12)
- XYZ – CoreMotion and CMMotionManager Explained (3:08)
- XYZ – Receiving Accelerometer Updates (7:18)
- XYZ – Handling Accelerometer Data (9:33)
- Listy – Intro to App (1:12)
- Listy – Building UI (6:16)
- Listy – Creating ParallaxCell Subclass (6:07)
- Listy – Configuring ImageArray and Populating UITableView (7:54)
- Listy – Writing Parallax Function to Apply to UIImageView (6:41)
- Listy – Accelerometer Challenge (0:47)
Splitter App- Working With UISplitViewController
- Splitter: Intro to App (2:34)
- Splitter: Creating Project & Dummy Data (10:54)
- Splitter: Setting Up MasterVC (6:39)
- Splitter: Building Image Presentation VC (9:09)
- Splitter: Passing Images To ImagePresentationVC (19:20)
- Splitter: Challenge (3:37)
Slack App- Creating a Slack App & Working With APIs
- Smack: Intro to Chat App (3:13)
- Smack: Project Setup (25:25)
- SWReveal (19:50)
- ChannelVC UI (24:27)
- LoginVC UI (22:07)
- CreateAccountVC UI (18:24)
- Webrequests and APIs (8:31)
- Hosting API (19:35)
- Local Hosting API (17:49)
- Creating a web request in Xcode (27:52)
- Registering a User (15:24)
- Logging in a user (19:52)
- Creating a User (25:51)
- Avatar Picker Part 1 (18:42)
- Avatar Picker Part 2 (19:52)
- Generate a Avatar BG Color (25:59)
- LoggedIn Interface (22:49)
- Profile View (25:12)
- Logging in users (23:01)
- Getting channels (18:50)
- Channels TableView (13:16)
- Add Channel VC (19:02)
- Sockets and Channels (25:49)
- Refining Login Flow (18:48)
- Fetching Messages (19:39)
- Sending first message (16:50)
- Displaying chat messages (17:34)
- Sockets and Messages (18:16)
- Typing Users (21:08)
- Unread Channels (17:45)
- Where to go from here (7:14)
- I’m Back! (7:23)
Pixel City App- Mastering Maps in iOS 12
- Intro to App: Pixel City (1:23)
- Creating Xcode Project: Pixel City (4:04)
- Installing Alamofire & AlamofireImage CocoaPods (6:49)
- Building MapVC UI (14:35)
- Requesting Location Services (17:41)
- Drop Custom Pins on MapView (14:48)
- Setting a Custom Map Annotation Color (4:13)
- Animating Photos View (19:23)
- Adding UILabel for Pull Up View (16:31)
- Getting API Key from Flickr (13:45)
- Using Alamofire to Download URLS (20:37)
- Using Alamofire to Download Image (16:02)
- Setting Up UICollectionView (9:51)
- Presenting PopVC When UICollectionViewCell is Tapped (15:45)
- Adding 3D Touch Peek & Pop to UICollectionView (14:25)
- Challenge (1:55)
Goal Post App- Data Persistence in iOS 12 With Core Data
- GoalPost: Intro to App (2:17)
- GoalPost: Creating Xcode Project (3:20)
- Building GoalsVC (13:20)
- Building GoalCell (13:41)
- What is Core Data? (5:37)
- Creating goal core data entity & attributes (7:47)
- Displaying static GoalCells in UITableView (9:51)
- Building CreateGoalVC (14:51)
- Creating a UIViewController extension (10:27)
- Creating a UIView & UIButton extension (18:10)
- Building FinishGoalVC & passing data (18:48)
- Saving goal data to persistent store (12:18)
- Fixing dismissal of FinishGoalVC (6:20)
- Fetching data from persistent store (15:53)
- Removing objects from persistent store (10:55)
- Setting goal progress for UITableViewCell (14:35)
- GoalPost: Challenge (1:07)
Treads App- Data Persistence With Realm
- Intro to Realm and Treads App (4:12)
- Swift 4 update (3:19)
- Initial project setup (20:21)
- Create the run log UI (18:59)
- Last storyboard UI (23:49)
- Map view setup (20:26)
- Create custom slider switch (24:22)
- Track Location (16:46)
- Converting meters to miles (7:55)
- Convert seconds to readable string (13:36)
- Calculate Average Pace (9:26)
- Pause, Resume Functionality (13:24)
- First Realm Model (18:37)
- Write & Fetch (18:34)
- Display Run History (21:44)
- Last Run View (18:44)
- Create a Locations List for poly-line overlay (14:22)
- Realm Configuration (12:20)
- Get the poly-line rendering on the map view (16:31)
- Center Map on poly-line or user location (23:22)
- Fetch Realm Object by ID (6:01)
Breakpoint App- Building a Full Stack App With Firebase
- Breakpoint: Intro to App (3:01)
- Breakpoint: Creating Xcode project (4:46)
- Creating Firebase project (10:19)
- Setting up DataService (10:13)
- Building AuthVC & LoginVC in interface builder (18:05)
- Creating InsetTextField & ShadowView Subclasses (18:02)
- Setting up AuthService (12:41)
- Presenting LoginVC from AppDelegate (16:08)
- Building FeedVC and GroupsVC in interface builder (15:58)
- Building MeVC and adding to UITabBarController (9:27)
- Creating CreatePostVC & uploading posts to firebase (19:54)
- Creating UIView extension for binding views to keyboard (14:28)
- Building FeedCell (9:18)
- Writing the Message Model and Getting All Feed Messages from Firebase (20:40)
- Converting UIDs into Emails and Reversing the Order of a TableView (19:55)
- Creating CreateGroupVC and Connecting @IBOutlets-Actions (14:41)
- Creating UserCell (15:18)
- Searching for Email Accounts to Add to Group (18:22)
- Adding Users to Group with didSelectRowAt indexPath (20:14)
- Creating Groups and Pushing Them to Firebase (15:11)
- Creating GroupCell (9:13)
- Creating Group Model and Getting All Groups from Firebase (18:31)
- Building GroupFeedVC (17:39)
- Initializing Group Data for a Group and Presenting on GroupFeedVC (15:35)
- Downloading All Message for a Group and Animating Upon New Message (23:40)
- Creating a UIViewController Extension for Presenting GroupFeedVC (7:11)
- Challenge (1:33)
RNDM App- Using the NEW Firebase Cloud Firestore
- Intro to Firestore (0:50)
- Firestore Project Setup (11:37)
- What is Firestore (5:52)
- AddThoughtVC UI Setup (17:14)
- Making your first database entry! (24:30)
- MainVC UI Setup (23:59)
- Fetching data from Firestore (15:08)
- Sorting and Filtering (20:21)
- Updating individual documents (15:11)
- Intro to Firestore Authentication (0:43)
- Login Flow UI Setup (19:31)
- Firestore: Create User (15:00)
- Firestore: Login User (13:47)
- Firestore: CommentsVC UI Set up (17:00)
- Firestore: CommentClass and TableView (8:59)
- Firestore Transactions (19:50)
- Firestore: Displaying comments (13:14)
- Firestore: Security Rules (12:40)
- Intro to Firestore Security Rules (0:33)
- Security rules: Project setup (12:01)
- Security rules: Implementing protocols (16:10)
- Deleting a comment (11:51)
- Updating comments (14:35)
- Comments Advanced Security Rules (10:40)
- Deleting a thought (14:51)
- Thought security rules (10:23)
- Where to go from here (2:51)
- Social Logins (1:17)
- Project Setup (8:16)
- Google Login Part 1 (9:28)
- Google Login Part 2 (14:26)
- Facebook Login (21:38)
- Twitter Login (15:21)
FoodZilla App- Mastering iOS In-App Purchases
- IAP’s: Creating Xcode Project (5:16)
- IAP’s: Creating App on iTunes Connect (4:09)
- IAP’s: Setting Up Consumable IAP Tier (7:51)
- IAP’s: Building StorefrontVC (12:30)
- IAP’s: Building DetailVC (9:42)
- IAP’s: Configuring UICollectionView (14:59)
- IAP’s: Passing values to DetailVC (11:24)
- IAP’s: Create IAPService Singleton (16:35)
- Consumables: Making consumable purchases (20:03)
- Consumables: Sending purchase notifications (16:53)
- Non-Consumables: Non-Consumable IAP Tier (3:13)
- Non-Consumables: Making Non-Consumable Purchases (19:32)
- Restoring In-App Purchases (11:18)
- Intro to Subscriptions (3:07)
- Subscriptions: Exploring the er project (3:57)
- Subscriptions: How To Set Up App in iTunes Connect (5:40)
- Setting up auto-renewing subscription tier (iTunes Connect) (10:52)
- Buying an auto-renewing subscription (15:17)
- Saving to UserDefaults & Handling Failure & Deferral (19:03)
- Preventing Theft_Fraud with iTunes Receipt Validation (18:55)
- Saving Expiration Date to UserDefaults _ Checking For Active Subscription (19:25)
- Checking for valid/active subscription & handling Expiration – Part 1 (20:12)
- Checking for valid/active subscription & handling Expiration – Part 2 (14:05)
- Troubleshooting subscription issues (12:41)
- Subscriptions : Challenge (2:02)
Touchy Feely App- Working With iOS Touch ID and Face ID
- SecureNotes : Intro to app (1:33)
- Creating Xcode Project (2:14)
- Building NoteVC (6:57)
- Creating Note Model, LockStatus Enum, & Dummy Data (6:23)
- Building NoteCell & Subclass (14:59)
- Building NoteDetailVC (4:34)
- Passing Note Data to NoteDetailVC (8:20)
- Writing helper functions & updating NoteCell Subclass (4:33)
- Authenticating with Touch ID / Face ID & updating information (18:23)
- SecureNotes: Challenge (1:26)
Scribe App- Working With iOS Speech Recognition
- Scribe: Project intro & setting up the UI (11:55)
- Scribe: Button design and loading animation (8:29)
- Scribe: Adding logic to our speech button (10:09)
- Scribe: Finishing the app (15:55)
Working With iMessege And Sticker Packs for iOS 12
- Intro to App – Sticker Packs (1:47)
- Intro to Sticker Packs (3:04)
- Creating Sticker Pack Project in Xcode (3:03)
- Sticker Art Resources _ Websites (8:49)
- Adding Static Stickers _ Testing (3:13)
- Adding APNG & GIF Stickers _ Testing (9:44)
- Creating iMessage App Icons (5:55)
- Creating Static Stickers with Sketch 3 (12:49)
- Creating Animated Stickers from Sprite Sheet (8:24)
Shortcut App- Working With 3D Touch on iOS
- Intro to App – Quick Action (1:19)
- Setting up the UI (11:11)
- Creating the Quick Action (15:00)
- Handle the Quick Action (15:19)
- Quick Actions with TabBar (7:01)
LegDay App- Working With iOS SiriKit
- Intro to SiriKit (0:45)
- Intro to App – LEGDAY (1:40)
- Intro to SiriKit (3:09)
- Building WorkoutVC _ Wiring Up (2:03)
- Enabling Siri Access _ Requesting Permissions (5:59)
- Creating a SiriKit Intents App Extension _ Configuring For Workout (19:26)
- Configuring Results in AppDelegate with DataService (4:06)
- Handling _ Presenting SiriKit Results in WorkoutVC (13:23)
- Challenge – LEGDAY (1:23)
Screenie App- Using ReplayKit in iOS
- Intro to ReplayKit (1:01)
- Intro to App – Screenie (2:38)
- Building UI (9:15)
- Creating RPScreen Recorder instance (3:51)
- Configuring UISegmentedControl to switch images (6:35)
- ing a screen recording (11:04)
- Stopping, editing, & saving a screen recording (12:34)
- Screenie: Challenge (1:15)
RampUp App- Intro to ARKit
- RampUp – Intro to ARKit App (1:59)
- RampUp – Resources & important ARKit info (3:34)
- RampUp – Project creation (10:45)
- RampUp – SceneKit, 3D models & materials (10:49)
- RampUp – Ramp picker popover (13:33)
- RampUp – 3D models in SceneKit for popover (17:21)
- RampUp: 3D models in SceneKit for popover – Part 2 (11:23)
- RampUp – Detecting taps on 3D objects (16:50)
- RampUp – Placing ramps in ARKit (23:21)
- RampUp – Moving objects in 3D space in augmented reality (19:23)
- ARKit – where to go next (3:24)
Vision App- iOS CoreML Basics
- CoreML – Intro to app (1:33)
- Intro to Core ML (4:50)
- What is machine learning (7:31)
- Creating Xcode project (3:05)
- Building UI & custom view subclasses (17:19)
- AVFoundation & AVCaptureSession to use the camera (17:43)
- Tap gestures to take snapshot on item (10:57)
- Downloading CoreML models (20:52)
- Core ML Xcode 9 Beta 4 Update – Fix Preview Photo Crash (2:26)
- Adding UI controls for flash control (7:04)
- Training your app to speak what it sees (17:47)
Animal App- Using iOS 12 New CoreML Models
- Intro to App – AnimalClassifier (1:07)
- DIY Core ML Model with Create ML (8:02)
- Building & Connecting User Interface (10:34)
- Setup Camera_Photo Selection (12:46)
- Create & Process Classification Request (15:25)
- Update Labels with Classifications (12:59)
Advanced Swift 4
- Enumerations in Swift 4 (19:23)
- Extensions in Swift 4 part 1 (15:01)
- Extensions in Swift 4 part 2 (20:11)
- Protocols & delegates in Swift 4 part 1 (12:43)
- Protocols & delegates in Swift 4 part 2 (17:10)
- Protocols & delegates in Swift 4 part 3 (16:08)
- Protocols & delegates in Swift 4 part 4 (15:44)
- Protocols & delegates in Swift 4 part 5 (17:41)
- Swift transformations (19:40)
Advanced- Data Structures & Algorithms In Swift 4
- Recursive functions in Swift 4 (13:23)
- The stack data structure in Swift 4 (12:31)
- The heap data structure in Swift 4 Part 1 (20:49)
- The heap data structure in Swift 4 Part 2 (13:32)
- The tree data structure in Swift 4 (18:50)
Advanced Swift 4 Design Patterns- Protocol Oriented Programming
- Intro to protocol oriented programming (10:48)
- Writing your first protocols (20:07)
- Creating protocol extensions (14:35)
- Generics and protocols (13:18)
Advanced Swift 4 Design Patterns- Reactive Programming With RxSwift
- RxSwift (1:41)
- Intro to RxSwift (5:08)
- What is Rx? Why Rx? (10:46)
- How To Install RxSwift into an Xcode Playground (4:00)
- Creating and Subscribing to Observables (9:17)
- Observables – Disposing (6:42)
- Challenge_ Observables (1:58)
- Publish Subject (6:13)
- Behavior Subject (7:29)
- Replay Subject (8:50)
- Variables (5:52)
- Challenge – Subjects (3:59)
- Transformations – .map (11:18)
- Transformations – .flatMap (10:12)
- Transformations – .filter (6:20)
- Transformations: .zip (7:45)
- Challenge – Transformations (3:10)
- Intro to App – Namer (2:09)
- Creating Xcode Project _ Installing RxSwift & RxCocoa (6:46)
- Building Namer UI _ Connecting @IBOutlets (5:03)
- Using RxCocoa to Observe _ Subscribe to UITextField Data (12:06)
- Adding Rx Capabilities to Submit Button (10:37)
- Passing Values Between UIViewController Instances Using RxSwift (21:24)
- Intro to Versi App (2:56)
- Creating Xcode Project (3:02)
- Installing CocoaPods (6:16)
- Setting Up UITabBarController _ Adding Project Assets (6:48)
- Building TrendingFeedVC (14:09)
- Building Custom View Subclasses (13:04)
- Building Repo Model Layer (11:10)
- Building TrendingRepoCell Subclass _ Loading Dummy Data (21:32)
- Creating DownloadService Singleton (21:46)
- Downloading Trending Repos Data (14:46)
- Downloading Additional Required Repo Data (19:51)
- Fixing Broken DownloadService Functions (12:18)
- Filling TrendingFeedVC with Real API Data (19:17)
- Building SearchVC (2:59)
- Building SearchCell (11:09)
- Setting Up SearchVC the RxSwift Way (22:43)
- Using RxSwift To Drive UITableView with Search Results (5:53)
- Loading Github README.md Files in SFSafariViewController (8:58)
Advanced- Unit Testing in iOS 12
- What is Unit Testing? (4:31)
- What makes a good unit test? (2:23)
- Unit testing in Swift (9:52)
- Testing Data Models (Part 1) (17:56)
- Testing Data Models (Part 2) (11:21)
- Testing features & functions (15:01)
- Testing asynchronous code (16:58)
- Testing endpoints & mock data (16:04)
- Testing performance & benchmarking (9:36)
- Testing & MVVM (4:59)
Advanced- UI Testing in iOS 12
- What is UI Testing (2:02)
- UI Testing best practices (4:25)
- UI testing in Swift – Basic example (12:33)
- Testing Navigation (9:58)
- Testing views & alerts (13:20)
- Resetting & verifying app state (7:10)
- Testing bug fixes (8:22)
- Testing data in text fields (9:42)
- Testing UI after an asynchronous call (14:34)
Sale Page: https://stoneriverelearning.com/p/ios-12-swift-4-crash-course
Archive: https://archive.ph/wip/BbqvW
Reviews
There are no reviews yet.