iOS 12 & Swift
From Beginner to Paid Professional
Each purchase comes with a 10 day money-back guarantee.
80 hours of content
Unlimited access
Devslopes Certificate of Completion
Access to code forums
Sections, lessons, and free previews
Xcode setup and understanding versions
FREE PREVIEWHow to install the Xcode dark theme
FREE PREVIEWBuilding your very first iOS ap
FREE PREVIEWFirst iOS app source code
Hustle Mode assets
Hustle app with images, UI, and sound
Hustle Mode final source
Variables, operators, & how computers work
Strings in Swift 4
Booleans & conditional logic in Swift 4
Constants & logical operators in Swift 4
Arrays in Swift 4
Loops in Swift 4
Dictionaries in Swift 4
Object oriented programming in Swift 4
Inheritance in Swift 4
Polymorphism in Swift 4
Optionals in Swift 4
Swift basics source code
Swift 4 Quiz
Git & Version Control: The fun way
Terminal Basics: Changing directories
Terminal Basics: Creating directories & files
Terminal Basics: Copying & renaming files
Terminal Basics: Deleting files & directories
Git Basics
Setting up Github
Working with Local & remote repositories
Handling git merge conflicts
Creating the welcome screen assets
Creating the welcome screen
Working with frames
Intro to Auto Layout
Working with UIStackView
Intro to segues (Changing screens in iOS)
Refactoring in Xcode
Debugging setValue forUndefinedKey
Programmatic segues
IBActions & data models
Passing data between view controllers
Profile App source code
Auto Layout for iPhones
Auto Layout for iPads & size classes
Creating custom text fields
Input accessory view and IBDesignable
Creating simple unit tests
Writing logic for calculations
Custom drawing in iOS 12 with drawRect
Window Shopper source code
Coder Swag Assets
Project creation & IBOutlets
UITableView, delegate, and data source
Creating a UICollectionView
Creating the data models
Working with UITableViewCell
Coder Swag final source
MVC in Theory
MVC assets
Creating the Xcode project
Managing groups (folders) for MVC
Creating data models
Creating the views
Connecting the views and data with view controllers
Securing the model layer
Challenge
XYZ: Intro to app
XYZ assets
XYZ: Creating project
XYZ: CoreMotion & CMMotionManager explained
XYZ: Receiving accelerometer updates
XYZ: Handling accelerometer data
Listy: Intro to app
Listy: Building UI
Listy: Creating ParallaxCell Subclass
Listy: Configuring ImageArray & Populating UITableView
Listy: Writing parallax function to apply to UIImageView
Listy: Accelerometer challenge
Listy final source
Splitter: Intro to App
Splitter assets
Splitter: Creating Project & Dummy Data
Splitter: Setting Up MasterVC
Splitter: Building ImagePresentationVC
Splitter: Passing Images To ImagePresentationVC
Splitter: Challenge
Smack: Intro to Chat App
Smack app all source code
Smack: Project Setup
SWReveal
ChannelVC UI
LoginVC UI
CreateAccountVC UI
Web request and API
Hosting API
Locally Hosting API
Creating a web request in Xcode
Registering a User
Logging in a user
Creating a user
Avatar Picker Part 1
Avatar Picker Part 2
Generate a Avatar BG Color
Profile View
Logging in users
Getting channels
Channels TableView
Add Channel VC
Sockets and Channels
Refining Login Flow
Fetching Messages
Sending first message
Displaying chat messages
Sockets and Messages
Typing Users
Unread Channels
Where to go from here
I'm Back!
Intro to App: Pixel City
Pixel City all course code
Creating Xcode Project: Pixel City
Installing Alamofire & AlamofireImage CocoaPods
Building MapVC UI
Requesting Location Services
Drop Custom Pins on MapView
Setting a Custom Map Annotation Color
Animating Photos View
Adding UILabel for Pull Up View
Getting API Key from Flickr
Using Alamofire to Download URLS
Using Alamofire to Download Images
UICollectionView
Building PopVC
Adding 3D Touch Peek & Pop to UICollectionView
Challenge
GoalPost: Intro to App
Goal Post assets
GoalPost: Creating Xcode Project
Building GoalsVC
Building GoalCell
What is Core Data?
Creating goal core data entity & attributes
Displaying static GoalCells in UITableView
Building CreateGoalVC
Creating a UIViewController extension
Creating a UIView & UIButton extension
Building FinishGoalVC & passing data
Saving goal data to persistent store
Fixing dismissal of FinishGoalVC
Fetching data from persistent store
Removing objects from persistent store
Setting goal progress for UITableViewCell
GoalPost: Challenge
GoalPost all source code
Intro to Realm and Treads App
Swift 4 update
Treads app assets
Initial project setup
Create the run log UI
Last storyboard UI
Map view setup
Create custom slider switch
Track Location
Converting meters to miles
Convert seconds to readable string
Calculate Average Pace
Pause, Resume Functionality
First Realm Model
Write & Fetch
Display Run History
Last Run View
Create a locations list for poly-line overlay
Realm Configuration
Get the poly-line rendering on the map view
Center Map on poly-line or user location
Fetch Realm Object by ID
Treads app final source
Breakpoint: Intro to App
Breakpoint Assets
Breakpoint: Creating Xcode project
Creating Firebase project
Setting up DataService
Building AuthVC & LoginVC in interface builder
Creating InsetTextField & ShadowView Subclasses
Setting up AuthService
Presenting LoginVC from AppDelegate
Building FeedVC and GroupsVC in interface builder
Building MeVC and adding to UITabBarController
Creating CreatePostVC & uploading posts to firebase
Creating UIView extension for binding views to keyboard
Building FeedCell
Writing the message model
Converting UIDs into emails
Creating CreateGroupVC
Creating UserCell
Searching for email accounts to add to group
Adding users to group with didSelectRowAt indexPath
Creating groups and pushing them to firebase
Creating GroupCell
Creating group model and getting all groups from Firebase
Building GroupFeedVC
Initializing group data for a group and presenting on GroupFeedVC
Downloading and animating messages
Presenting GroupFeedVC
Breakpoint: Challenge
Breakpoint all source code
Intro to Firestore
Firestore part 1 assets
Firestore project setup
What is Firestore
Firestore: AddThoughtVC UI Setup
Firestore: Making your first database entry!
Firestore: MainVC UI Setup
Fetching data from Firestore
Firestore: Sorting and Filtering
Firestore: Updating individual documents
Intro to Firestore Authentication
Firestore part 2 assets
Login Flow UI Setup
Firestore: Create User
Firestore: Login User
Firestore: CommentsVC UI Set up
Firestore: CommentClass and TableView
Firestore Transactions
Firestore: Displaying comments
Firestore: Security Rules
Intro to Firestore Security Rules
Firestore part 3 assets
Security rules: Project setup
Security rules: Implementing protocols
Deleting a comment
Updating comments
Comments advanced security rules
Deleting a thought
Thought security rules
Where to go from here?
Social Logins
Social Logins: Project Setup
Google Login Part 1
Google Login Part 2
Facebook Login
Twitter Login
IAP's: Creating Xcode Project
IAP's: Creating App on iTunes Connect
IAP's: Setting up consumable IAP Tier
IAP's: Building StorefrontVC
IAP's: Building DetailVC
IAP's: Configuring UICollectionView
IAP's: Passing values to DetailVC
IAP's: Create IAPService Singleton
Consumables: Making consumable purchases
Consumables: Sending purchase notifications
Non-Consumables: Non-Consumable IAP Tier
Non-Consumables: Making Non-Consumable Purchases
Restoring In-App Purchases
Consumables final source
Intro to Subscriptions
Subscription assets
Subscriptions: Exploring the starter project
Subscriptions: How To Set Up App in iTunes Connect
Setting up auto-renewing subscription tier (iTunes Connect)
Buying an auto-renewing subscription
Subscriptions: Saving to UserDefaults
Subscriptions: Preventing theft/fraud with iTunes receipt validation
Saving expiration date to UserDefaults & checking for active subscription
Checking for valid/active subscription & handling Expiration – Part 1
Checking for valid/active subscription & handling Expiration – Part 2
Troubleshooting subscription issues
Challenge - Subscriptions
Subscriptions final source
SecureNotes : Intro to app
Creating Xcode Project
Building NoteVC
Creating Note Model, LockStatus Enum, & Dummy Data
Building NoteCell & Subclass
Building NoteDetailVC
Passing Note Data to NoteDetailVC
Writing helper functions & updating NoteCell Subclass
Authenticating with Touch ID / Face ID & updating information
SecureNotes: Challenge
Touch ID final source
Scribe: Project intro & setting up the UI
Scribe: Button design and loading animation
Scribe: Adding logic to our speech button
Scribe: Finishing the app
Intro to App – Sticker Packs
Intro to Sticker Packs
Sticker pack assets
Creating Sticker Pack Project in Xcode
Sticker Art Resources & Websites
Adding Static Stickers
Adding PNG & GIF Stickers
Creating iMessage app icons
Creating static stickers with Sketch 3
Creating Animated Stickers from Sprite Sheet
Sticker pack final source
Intro to App - Quick Action
3D touch assets
Setting up the UI
Creating the Quick Action
Handle the Quick Action
Quick Actions with TabBar
LEGDAY: Intro to App
Intro to SiriKit
SiriKit assets
Building WorkoutVC
Enabling Siri access
Creating a SiriKit intents app extension
Configuring results in AppDelegate with DataService
Handling & presenting SiriKit results in WorkoutVC
LEGDAY: Challenge
Screenie: Intro to app
ReplayKit assets
Building UI
Creating RPScreenRecorder instance
Configuring UISegmentedControl to switch images
Starting a screen recording
Stopping, editing, & saving a screen recording
Screenie: Challenge
RampUp: Intro to ARKit App
Rampup assets
RampUp: Resources & important ARKit info
RampUp: Project creation
Rampup Models
RampUp: SceneKit, 3D models & materials
RampUp: Ramp picker popover
RampUp: 3D models in SceneKit for popover
RampUp: 3D models in SceneKit for popover - Part 2
RampUp: Detecting taps on 3D objects
RampUp: Placing ramps in ARKit
RampUp: Moving objects in 3D space in augmented reality
Rampup final source
ARKit: where to go next
CoreML: Intro to app
Intro to Core ML
What is machine learning?
Creating Xcode project
Building UI & custom view subclasses
AVFoundation & AVCaptureSession to use the camera
Tap gestures to take snapshot on item
Core ML Xcode 9 Beta 4 update
Downloading CoreML models
Adding UI controls for flash control
Training your app to speak what it sees
CoreML all source
Intro to App – AnimalClassifier
AnimalClassifier Source
DIY Core ML Model with Create ML
Building & Connecting User Interface
Setup Camera/Photo Selection
Create & Process Classification Request
Update Labels with Classifications
What is UX UI
3 Questions Before Designing
TOPTEN: Homescreen
TOPTEN: Article Page
Intro to microinteractions
TOPTEN: Designing a microinteraction
Rapid prototyping
Bringing our app to life with Invision
Using symbols
Audio Tangle: Feed screen
Audio Tangle: Feed enhancement for marketplace
Audio Tangle: Post a job
Audio Tangle: Saved tab
Audio Tangle: Saved tab continued
Audio Tangle: Wrapping it all up
Minimum Viable Product
Building an MVP - Weightmate
Savr: Triggers and actions
Savr: Reward & Investment
Social networks & marketplace advice
Viral coefficient
How computers work
How Computer Work source code
Understanding binary
Computer Code assets
The heap vs the stack
Working with binary in iOS part 1
Working with binary in iOS part 2
Working with binary in iOS part 3
Challenge: Convert multiple numbers to binary
How code works
Variables & storage capacity
Understanding hexadecimal
Enumerations in Swift 4
Extensions in Swift 4 part 1
Extensions in Swift 4 part 2
Protocols & delegates in Swift 4 part 1
Protocols & delegates in Swift 4 part 2
Protocols & delegates in Swift 4 part 3
Protocols & delegates in Swift 4 part 4
Protocols & delegates in Swift 4 part 5
Swift transformations
Advanced Swift source code
Intro to App – FaceFinder
Creating project & building UI
Creating project & building UI
Setting up UIImageView programmatically
Creating Face Detection Request & Handler
Adding & Tweaking Face Detection Frame
Face Finder source code
Recursive functions in Swift 4
The stack data structure in Swift 4
The heap data structure in Swift 4 part 1
The heap data structure in Swift 4 part 2
The tree data structure in Swift 4
Data Structures all source
Intro to protocol oriented programming
Writing your first protocols
Creating protocol extensions
Generics & protocols
POP final source
Intro to RxSwift
What is Rx? Why Rx?
How to install RxSwift into an Xcode playground
RsSwift all source
Creating and Subscribing to Observables
Observables: Disposing
Challenge: Observables
PublishSubject
BehaviorSubject
ReplaySubject
Variables
Challenge: Subjects
Transformations: .map
Transformations: .flatMap
Transformations: .filter
Transformations: .zip
Challenge: Transformations
Intro to app: Namer
Installing RxSwift & RxCocoa
Building Namer UI
Using RxCocoa to Observe
Adding Rx capabilities to submit button
Passing values using RxSwift
Intro to Versi app
Creating Xcode project
Installing CocoaPods
Setting up UITabBarController
Building TrendingFeedVC
Building custom view subclasses
Building Repo model layer
Building TrendingRepoCell subclass
Creating DownloadService singleton
Downloading trending repos data
Downloading additional required repo data
Refactoring DownloadService functions
Filling TrendingFeedVC with real API data
Building SearchVC
Building SearchCell
Setting up SearchVC the RxSwift way
Using RxSwift To Drive UITableView with Search Results
Loading Github README.md Files
What is Unit Testing?
What makes a good unit test?
Unit testing in Swift
Unit Testing data models source
Testing Data Models (Part 1)
Testing Data Models (Part 2)
Testing features & functions
Unit Testing asynchronous source
Testing asynchronous code
Testing endpoints & mock data
Testing performance & benchmarking
Testing & MVVM
What is UI Testing?
UI Testing best practices
UI Testing source
UI testing in Swift – Basic example
Testing navigation
Testing views & alerts
Resetting & verifying app state
Testing bug fixes
Testing data in text fields
Testing UI after an asynchronous call