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.
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
Course Curriculum
- 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)
- 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: 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 – 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)
- Auto Layout for iPhones (21:52)
- Auto Layout for iPads & size classes (19:38)
- 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)
- 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)
- 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)
- 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 – 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: 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)
- 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)
- 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)
- 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)
- 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: 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)
- 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)
- 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)
- 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: 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)
- 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)
- 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)
- 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)
- 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 – 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)
- 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)
- 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)
- 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)
- 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)
- Intro to protocol oriented programming (10:48)
- Writing your first protocols (20:07)
- Creating protocol extensions (14:35)
- Generics and protocols (13:18)
- 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)
- 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)
- 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
13 reviews for Stone River Elearning – iOS 12 and Swift 4 Crash Course
There are no reviews yet.