Stone River Elearning – iOS 12 and Swift 4 Crash Course
Course Description
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 start 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.
Goals
What will you learn in this course:
- Full understanding of Xcode 10 and all it has to offer
- Learn how to program for IOS 12 to create your own apps
- Create fully featured games
- Be able to support all devices and screen sizes
- Full explanation of all objects and functions within IOS 12 development
- Develop in Swift 4.2
- Earn revenue from your apps
- Start a new career
Prerequisites
What are the prerequisites for this course?
- You will need a Apple Mac computer or laptop
- You will need the developer software Xcode 10
Curriculum
Check out the detailed breakdown of what’s inside the course
Getting Started with iOS 12
5 Lectures
- Course overview07:49
- MUST WATCH Installing Xcode & understanding Xcode versions04:17
- How to get Xcode in dark theme mode01:38
- Building your very first iOS app08:22
- Building the Hustle App: Graphics, UI, and Sound21:18
Introduction to Programming & Swift 4 Basics
13 Lectures
- Variables, operators, & how computers work16:30
- Strings in Swift 415:06
- Numbers in Swift 419:38
- Functions in Swift 422:25
- Booleans & conditional logic in Swift 420:43
- Constants & logical operators in Swift 409:33
- Arrays in Swift 412:51
- Loops in Swift 418:45
- Dictionaries in Swift 418:29
- Object oriented programming in Swift 411:49
- Inheritance in Swift 408:04
- Polymorphism in Swift 408:07
- Optionals in Swift 420:10
Git & Version Control
9 Lectures
- Git & Version Control: The fun way10:49
- Terminal Basics – Changing directories05:49
- Terminal Basics – Copying & renaming files08:38
- Terminal Basics – Creating directories & files04:11
- Terminal Basics – Deleting files & directories05:43
- Git Basics16:58
- Setting up Github04:18
- Working with Local & Remote Repositories10:55
- Handling Git Merge Conflicts16:33
Swoosh App- Intro to Interface Builder & Auto Layout in Xcode 10
10 Lectures
- Swoosh – Creating the welcome screen24:57
- Swoosh – Working with frames15:39
- Swoosh – Intro to auto layout (support multiple screen sizes)26:21
- Swoosh – Working with stack views26:15
- Swoosh – Intro to segues (changing screens)09:17
- Swoosh – Refactoring in Xcode 909:22
- Swoosh – Debugging setValue forUndefinedKey03:24
- Swoosh – Programmatic segues08:38
- Swoosh – IBActions (handling events) & data models15:56
- Swoosh – Passing data between view controllers11:25
Profile App- Digging Deeper With Auto Layout
2 Lectures
- Auto Layout for iPhones21:52
- Auto Layout for iPads & size classes19:38
Window Shopper App- Your First Fully Functional iOS 12 App
5 Lectures
- Creating custom text fields17:20
- Input accessory view and IBDesignable14:46
- Creating simple unit tests16:17
- Writing logic for calculations12:45
- Custom drawing in iOS 12 with drawRect12:05
Computers & Code- Crash Course in Computer Science for Beginners
10 Lectures
- How Computers Work12:22
- Understanding Binary09:26
- Heap vs. Stack08:41
- IOS Binary App – Building UI _ UX20:04
- IOS Binary App – Creating BinaryDecimal Class20:30
- IOS Binary App – Finishing Up10:11
- IOS Binary App – Challenge01:38
- How Code Works09:44
- Variables & Storage Capacity06:16
- Understanding Hexadecimal05:52
Coder Swag App- Tables & Data in iOS 12
5 Lectures
- Project creation & IBOutlets22:13
- Tableviews, delegate, and data source32:58
- Collection views (grid layouts)12:16
- Working with data models13:19
- Displaying data in collection view cells19:42
Intro to Model View Controller
8 Lectures
- MVC in Theory05:59
- Creating Xcode Project03:10
- Setting Up Project Groups for MVC _ Examining ViewController Controller Layer05:15
- Creating AppleProduct Model Layer06:40
- Creating CustomPrettyView View Layer08:20
- Connecting View to Controller11:40
- Securing Model Layer04:08
- Challenge – MVC01:33
XYZ App – Working with iOS Accelerometer
11 Lectures
- XYZ – Intro to App01:49
- XYZ – Creating Project05:12
- XYZ – CoreMotion and CMMotionManager Explained03:08
- XYZ – Receiving Accelerometer Updates07:18
- XYZ – Handling Accelerometer Data09:33
- Listy – Intro to App01:12
- Listy – Building UI06:16
- Listy – Creating ParallaxCell Subclass06:07
- Listy – Configuring ImageArray and Populating UITableView07:54
- Listy – Writing Parallax Function to Apply to UIImageView06:41
- Listy – Accelerometer Challenge00:47
Splitter App- Working With UISplitViewController
6 Lectures
- Splitter: Intro to App02:34
- Splitter: Creating Project & Dummy Data10:54
- Splitter: Setting Up MasterVC06:39
- Splitter: Building Image Presentation VC09:09
- Splitter: Passing Images To ImagePresentationVC19:20
- Splitter: Challenge03:37
Slack App- Creating a Slack App & Working With APIs
32 Lectures
- Smack: Intro to Chat App03:13
- Smack: Project Setup25:25
- SWReveal19:50
- ChannelVC UI24:27
- LoginVC UI22:07
- CreateAccountVC UI18:24
- Webrequests and APIs08:31
- Hosting API19:35
- Local Hosting API17:49
- Creating a web request in Xcode27:52
- Registering a User15:24
- Logging in a user19:52
- Creating a User25:51
- Avatar Picker Part 118:42
- Avatar Picker Part 219:52
- Generate a Avatar BG Color25:59
- LoggedIn Interface22:49
- Profile View25:12
- Logging in users23:01
- Getting channels18:50
- Channels TableView13:16
- Add Channel VC19:02
- Sockets and Channels25:49
- Refining Login Flow18:48
- Fetching Messages19:39
- Sending first message16:50
- Displaying chat messages17:34
- Sockets and Messages18:16
- Typing Users21:08
- Unread Channels17:45
- Where to go from here07:14
- I’m Back!07:23
Pixel City App- Mastering Maps in iOS 12
16 Lectures
- Intro to App: Pixel City01:23
- Creating Xcode Project: Pixel City04:04
- Installing Alamofire & AlamofireImage CocoaPods06:49
- Building MapVC UI14:35
- Requesting Location Services17:41
- Drop Custom Pins on MapView14:48
- Setting a Custom Map Annotation Color04:13
- Animating Photos View19:23
- Adding UILabel for Pull Up View16:31
- Getting API Key from Flickr13:45
- Using Alamofire to Download URLS20:37
- Using Alamofire to Download Image16:02
- Setting Up UICollectionView09:51
- Presenting PopVC When UICollectionViewCell is Tapped15:45
- Adding 3D Touch Peek & Pop to UICollectionView14:25
- Challenge01:55
Goal Post App- Data Persistence in iOS 12 With Core Data
16 Lectures
- GoalPost: Intro to App02:18
- GoalPost: Creating Xcode Project03:20
- Building GoalsVC13:20
- Building GoalCell13:41
- What is Core Data?05:38
- Creating goal core data entity & attributes07:47
- Displaying static GoalCells in UITableView09:51
- Building CreateGoalVC14:51
- Creating a UIViewController extension10:27
- Creating a UIView & UIButton extension18:10
- Building FinishGoalVC & passing data18:48
- Saving goal data to persistent store12:18
- Fixing dismissal of FinishGoalVC06:20
- Fetching data from persistent store15:53
- Removing objects from persistent store10:55
- Setting goal progress for UITableViewCell14:35
Treads App- Data Persistence With Realm
21 Lectures
- Intro to Realm and Treads App04:12
- Swift 4 update03:19
- Initial project setup20:21
- Create the run log UI18:59
- Last storyboard UI23:49
- Map view setup20:26
- Create custom slider switch24:23
- Track Location16:46
- Converting meters to miles07:55
- Convert seconds to readable string13:36
- Calculate Average Pace09:26
- Pause, Resume Functionality13:24
- First Realm Model18:37
- Write & Fetch18:35
- Display Run History21:44
- Last Run View18:44
- Create a Locations List for poly-line overlay14:22
- Realm Configuration12:20
- Get the poly-line rendering on the map view16:31
- Center Map on poly-line or user location23:22
- Fetch Realm Object by ID06:01
Breakpoint App- Building a Full Stack App With Firebase
27 Lectures
- Breakpoint: Intro to App03:01
- Breakpoint: Creating Xcode project04:46
- Creating Firebase project10:19
- Setting up DataService10:13
- Building AuthVC & LoginVC in interface builder18:05
- Creating InsetTextField & ShadowView Subclasses18:02
- Setting up AuthService12:41
- Presenting LoginVC from AppDelegate16:08
- Building FeedVC and GroupsVC in interface builder15:58
- Building MeVC and adding to UITabBarController09:27
- Creating CreatePostVC & uploading posts to firebase19:54
- Creating UIView extension for binding views to keyboard14:28
- Building FeedCell09:18
- Writing the Message Model and Getting All Feed Messages from Firebase20:40
- Converting UIDs into Emails and Reversing the Order of a TableView19:55
- Creating CreateGroupVC and Connecting @IBOutlets-Actions14:41
- Creating UserCell15:18
- Searching for Email Accounts to Add to Group18:22
- Adding Users to Group with didSelectRowAt indexPath20:14
- Creating Groups and Pushing Them to Firebase15:11
- Creating GroupCell09:13
- Creating Group Model and Getting All Groups from Firebase18:31
- Building GroupFeedVC17:39
- Initializing Group Data for a Group and Presenting on GroupFeedVC15:35
- Downloading All Message for a Group and Animating Upon New Message23:40
- Creating a UIViewController Extension for Presenting GroupFeedVC07:11
- Challenge01:33
RNDM App- Using the NEW Firebase Cloud Firestore
33 Lectures
- Intro to Firestore00:50
- Firestore Project Setup11:37
- What is Firestore05:52
- AddThoughtVC UI Setup17:14
- Making your first database entry!24:30
- MainVC UI Setup23:59
- Fetching data from Firestore15:08
- Sorting and Filtering20:21
- Updating individual documents15:11
- Intro to Firestore Authentication00:43
- Login Flow UI Setup19:31
- Firestore: Create User15:00
- Firestore: Login User13:47
- Firestore: CommentsVC UI Set up17:00
- Firestore: CommentClass and TableView08:59
- Firestore Transactions19:50
- Firestore: Displaying comments13:14
- Firestore: Security Rules12:40
- Intro to Firestore Security Rules00:33
- Security rules: Project setup12:01
- Security rules: Implementing protocols16:10
- Deleting a comment11:51
- Updating comments14:35
- Comments Advanced Security Rules10:40
- Deleting a thought14:51
- Thought security rules10:23
- Where to go from here02:51
- Social Logins01:17
- Project Setup08:16
- Google Login Part 109:28
- Google Login Part 214:26
- Facebook Login21:38
- Twitter Login15:21
FoodZilla App- Mastering iOS In-App Purchases
25 Lectures
- IAP’s: Creating Xcode Project05:16
- IAP’s: Creating App on iTunes Connect04:09
- IAP’s: Setting Up Consumable IAP Tier07:51
- IAP’s: Building StorefrontVC12:30
- IAP’s: Building DetailVC09:42
- IAP’s: Configuring UICollectionView14:59
- IAP’s: Passing values to DetailVC11:24
- IAP’s: Create IAPService Singleton16:35
- Consumables: Making consumable purchases20:03
- Consumables: Sending purchase notifications16:53
- Non-Consumables: Non-Consumable IAP Tier03:13
- Non-Consumables: Making Non-Consumable Purchases19:32
- Restoring In-App Purchases11:18
- Intro to Subscriptions03:07
- Subscriptions: Exploring the starter project03:57
- Subscriptions: How To Set Up App in iTunes Connect05:40
- Setting up auto-renewing subscription tier (iTunes Connect)10:52
- Buying an auto-renewing subscription15:17
- Saving to UserDefaults & Handling Failure & Deferral19:03
- Preventing Theft_Fraud with iTunes Receipt Validation18:55
- Saving Expiration Date to UserDefaults _ Checking For Active Subscription19:25
- Checking for valid/active subscription & handling Expiration – Part 120:12
- Hecking for valid/active subscription & handling Expiration – Part 214:05
- Troubleshooting subscription issues12:41
- Subscriptions : Challenge02:02
Touchy Feely App- Working With iOS Touch ID and Face ID
10 Lectures
- SecureNotes : Intro to app01:33
- Creating Xcode Project02:14
- Building NoteVC06:57
- Creating Note Model, LockStatus Enum, & Dummy Data06:23
- Building NoteCell & Subclass14:59
- Building NoteDetailVC04:34
- Passing Note Data to NoteDetailVC08:20
- Writing helper functions & updating NoteCell Subclass04:33
- Authenticating with Touch ID / Face ID & updating information18:23
- SecureNotes: Challenge01:26
Scribe App- Working With iOS Speech Recognition
4 Lectures
- Scribe: Project intro & setting up the UI11:55
- Scribe: Button design and loading animation08:29
- Scribe: Adding logic to our speech button10:09
- Scribe: Finishing the app15:55
Working With iMessege And Sticker Packs for iOS 12
9 Lectures
- Intro to App – Sticker Packs01:47
- Intro to Sticker Packs03:04
- Creating Sticker Pack Project in Xcode03:03
- Sticker Art Resources _ Websites08:49
- Adding Static Stickers _ Testing03:13
- Adding APNG & GIF Stickers _ Testing09:44
- Creating iMessage App Icons05:55
- Creating Static Stickers with Sketch 312:49
- Creating Animated Stickers from Sprite Sheet08:24
Shortcut App- Working With 3D Touch on iOS
5 Lectures
- Intro to App – Quick Action01:19
- Setting up the UI11:11
- Creating the Quick Action15:00
- Handle the Quick Action15:19
- Quick Actions with TabBar07:01
LegDay App- Working With iOS SiriKit
9 Lectures
- Intro to SiriKit00:45
- Intro to App – LEGDAY01:40
- Introduction to SiriKit03:09
- Building WorkoutVC _ Wiring Up02:03
- Enabling Siri Access _ Requesting Permissions05:59
- Creating a SiriKit Intents App Extension _ Configuring For Workout19:26
- Configuring Results in AppDelegate with DataService04:06
- Handling _ Presenting SiriKit Results in WorkoutVC13:23
- Challenge – LEGDAY01:23
Screenie App- Using ReplayKit in iOS
8 Lectures
- Intro to ReplayKit00:55
- Intro to App – Screenie02:21
- Building UI09:15
- Creating RPScreen Recorder instance03:51
- Configuring UISegmentedControl to switch images06:35
- Starting a screen recording11:04
- Stopping, editing, & saving a screen recording12:34
- Screenie: Challenge01:15
RampUp App- Intro to ARKit
11 Lectures
- RampUp – Intro to ARKit App01:59
- RampUp – Resources & important ARKit info03:34
- RampUp – Project creation10:45
- RampUp – SceneKit, 3D models & materials10:49
- RampUp – Ramp picker popover13:33
- RampUp – 3D models in SceneKit for popover17:21
- RampUp: 3D models in SceneKit for popover – Part 211:23
- RampUp – Detecting taps on 3D objects16:50
- RampUp – Placing ramps in ARKit23:21
- RampUp – Moving objects in 3D space in augmented reality19:23
- ARKit – where to go next03:24
Vision App- iOS CoreML Basics
10 Lectures
- CoreML – Intro to app01:33
- What is machine learning07:31
- Creating Xcode project03:05
- Building UI & custom view subclasses17:19
- AVFoundation & AVCaptureSession to use the camera17:43
- Tap gestures to take snapshot on item10:57
- Downloading CoreML models20:52
- Core ML Xcode 9 Beta 4 Update – Fix Preview Photo Crash02:26
- Adding UI controls for flash control07:04
- Training your app to speak what it sees17:47
Animal App- Using iOS 12 New CoreML Models
6 Lectures
- Intro to App – AnimalClassifier01:07
- DIY Core ML Model with Create ML08:02
- Building & Connecting User Interface10:34
- Setup Camera_Photo Selection12:46
- Create & Process Classification Request15:25
- Update Labels with Classifications12:59
Advanced Swift 4
9 Lectures
- Enumerations in Swift 419:23
- Extensions in Swift 4 part 115:01
- Extensions in Swift 4 part 220:11
- Protocols & delegates in Swift 4 part 112:43
- Protocols & delegates in Swift 4 part 217:10
- Protocols & delegates in Swift 4 part 316:08
- Protocols & delegates in Swift 4 part 415:44
- Protocols & delegates in Swift 4 part 517:41
- Swift transformations19:40
Advanced- Data Structures & Algorithms In Swift 4
4 Lectures
- The stack data structure in Swift 412:31
- The heap data structure in Swift 4 Part 120:49
- The heap data structure in Swift 4 Part 213:32
- The tree data structure in Swift 418:50
Advanced Swift 4 Design Patterns- Protocol Oriented Programming
4 Lectures
- Intro to protocol oriented programming10:49
- Writing your first protocols20:07
- Creating protocol extensions14:35
- Generics and protocols13:18
Advanced Swift 4 Design Patterns- Reactive Programming With RxSwift
40 Lectures
- RxSwift01:41
- Intro to RxSwift05:08
- What is Rx? Why Rx?10:46
- How To Install RxSwift into an Xcode Playground04:00
- Creating and Subscribing to Observables09:17
- Observables – Disposing06:42
- Challenge_ Observables01:58
- Publish Subject06:13
- Behavior Subject07:29
- Replay Subject08:50
- Variables05:53
- Challenge – Subjects03:59
- Transformations – .map11:18
- Transformations – .flatMap10:12
- Transformations: .zip07:45
- Challenge – Transformations03:10
- Intro to App – Namer02:09
- Creating Xcode Project _ Installing RxSwift & RxCocoa06:46
- Building Namer UI _ Connecting @IBOutlets05:03
- Using RxCocoa to Observe _ Subscribe to UITextField Data12:06
- Adding Rx Capabilities to Submit Button10:37
- Passing Values Between UIViewController Instances Using RxSwift21:28
- Intro to Versi App02:56
- Creating Xcode Project03:02
- Installing CocoaPods06:16
- Setting Up UITabBarController _ Adding Project Assets06:48
- Building TrendingFeedVC14:09
- Building Custom View Subclasses13:04
- Building Repo Model Layer11:10
- Building TrendingRepoCell Subclass _ Loading Dummy Data21:32
- Creating DownloadService Singleton21:46
- Downloading Trending Repos Data14:46
- Downloading Additional Required Repo Data19:51
- Fixing Broken DownloadService Functions12:18
- Filling TrendingFeedVC with Real API Data19:17
- Building SearchVC02:59
- Building SearchCell11:09
- Setting Up SearchVC the RxSwift Way22:44
- Using RxSwift To Drive UITableView with Search Results05:53
- Loading Github README.md Files in SFSafariViewController08:58
Advanced- Unit Testing in iOS 12
10 Lectures
- What is Unit Testing?04:31
- What makes a good unit test?02:23
- Unit testing in Swift09:52
- Testing Data Models (Part 1)17:56
- Testing Data Models (Part 2)11:21
- Testing features & functions15:01
- Testing asynchronous code16:58
- Testing endpoints & mock data16:04
- Testing performance & benchmarking09:36
- Testing & MVVM04:59
Advanced- UI Testing in iOS 12
10 Lectures
- What is UI Testing02:02
- UI Testing best practices04:25
- UI testing in Swift – Basic example12:33
- Testing Navigation09:58
- Testing views & alerts13:20
- Resetting & verifying app state07:10
- Testing bug fixes08:22
- Testing data in text fields09:42
- Testing UI after an asynchronous call14:34
- Downloadable resources
Instructor Details
Stone River eLearning
At Stone River eLearning, technology is all we teach. If you’re interested in IT, programming, development or design – we have it covered.
Check out our huge catalog of courses and join the over 1,200,000+ students currently taking Stone River eLearning courses. We currently offer 800+ different technology training courses on our Stone River eLearning website and are adding new courses on hot and trending topics every month. A subscription option is available for those with a real passion for learning.
Reviews
There are no reviews yet.