Section 01: Getting Started With Xcode 9 |
|
iOS 11 Course Overview |
|
00:11:00 |
|
Install Xcode 9 |
|
00:07:00 |
|
Xcode 9 Beta 4 Update |
|
00:09:00 |
|
App: Hustle – Your first iOS 11 App |
|
00:22:00 |
Section 02: Learn to Code With Swift 4 |
|
Variables, operators, and how computers work |
|
00:17:00 |
|
Strings in Swift |
|
00:15:00 |
|
Working with numbers in Swift |
|
00:20:00 |
|
Swift Functions |
|
00:23:00 |
|
Booleans |
|
00:21:00 |
|
Constants |
|
00:10:00 |
|
Array Data Structure in Swift |
|
00:13:00 |
|
Swift Loops |
|
00:19:00 |
|
Dictionary Data Structure in Swift |
|
00:19:00 |
|
Object Oriented Programming in Swift |
|
00:12:00 |
|
Inheritance |
|
00:08:00 |
|
Polymorphism |
|
00:08:00 |
|
Optionals |
|
00:21:00 |
|
Enumerations |
|
00:20:00 |
|
Extensions: Part 1 |
|
00:15:00 |
|
Extensions: Part 2 |
|
00:21:00 |
|
Intro to Protocols, Delegates – Numbers Example |
|
00:13:00 |
|
Intro to Protocols, Delegates Part 2 – Question Generator |
|
00:18:00 |
|
Protocols, Delegates – Building Color Magic App UI |
|
00:17:00 |
|
Protocols, Delegates – Using the Delegate Method in Color Magic App |
|
00:16:00 |
|
Protocols, Delegates – Using Mutating Functions in Types |
|
00:18:00 |
Section 03: Version Control With Git |
|
Git and Version Control – The Fun Way! |
|
00:12:00 |
|
Terminal Basics – Changing Directories |
|
00:06:00 |
|
Terminal Basics – Creating Directories and Files |
|
00:05:00 |
|
Terminal Basics – Copying and Renaming Files |
|
00:09:00 |
|
Terminal Basics – Deleting Files and Directories |
|
00:06:00 |
|
Git Basics |
|
00:17:00 |
|
Setting up Github |
|
00:05:00 |
|
Working with Local and Remote Repositories |
|
00:11:00 |
|
Handling Git Merge Conflicts |
|
00:17:00 |
Section 04: Core iOS 11: Auto Layout, Segues, and Professional Apps |
|
App: Swoosh 01 – Creating the Welcome Screen |
|
00:25:00 |
|
App: Swoosh 02 – Working with Frames |
|
00:16:00 |
|
App: Swoosh 03 – Intro to Auto Layout |
|
00:27:00 |
|
App: Swoosh 04 – Working with Stack Views |
|
00:27:00 |
|
App: Swoosh 05 – Intro to Segues (Changing Screens) |
|
00:10:00 |
|
App: Swoosh 06 – Refactoring in Xcode 9 |
|
00:10:00 |
|
App: Swoosh 07 – Debugging: setValue forUndefinedKey |
|
00:04:00 |
|
App: Swoosh 08 – Programmatic Segues |
|
00:09:00 |
|
App: Swoosh 09 – IBActions (Handling Events) and Data Models |
|
00:16:00 |
|
App: Swoosh 10 – Passing Data Between View Controllers |
|
00:12:00 |
|
App: Dev Profile 01 – Auto layout for iPhones |
|
00:22:00 |
|
App: Dev Profile 02 – Auto layout for iPads (Size Classes) |
|
00:20:00 |
|
App: Window Shopper 01 – Custom Text Fields |
|
00:18:00 |
|
App: Window Shopper 02 – Input Accessory Views |
|
00:15:00 |
|
App: Window Shopper 03 – Unit Testing our Data |
|
00:17:00 |
|
App: Window Shopper 04 – Calculation Algorithm |
|
00:13:00 |
|
App: Window Shopper 05 – Custom Drawing with drawRect |
|
00:12:00 |
Section 05: iOS 11 Tables |
|
App: Coder Swag 01 – Project creation |
|
00:23:00 |
|
App: Coder Swag 02 – Tableviews, Delegate, and Data Source |
|
00:33:00 |
|
App: Coder Swag 03 – Collection Views (Grid Layouts) |
|
00:13:00 |
|
App: Coder Swag 04 – Working with Data Models |
|
00:14:00 |
|
App: Coder Swag 05 – Displaying Data in Collection View Cells |
|
00:20:00 |
Section 06: Networking, APIs, REST, and Building a Slack Clone |
|
Intro to Chat App |
|
00:04:00 |
|
App: Smack – Project Setup |
|
00:26:00 |
|
App: Smack – SWReveal |
|
00:20:00 |
|
App: Smack – ChannelVC UI |
|
00:25:00 |
|
App: Smack – LoginVC UI |
|
00:22:00 |
|
App: Smack – CreateAccountVC UI |
|
00:19:00 |
|
App: Smack – Web request and API |
|
00:09:00 |
|
App: Smack – Hosting API |
|
00:20:00 |
|
App: Smack – Locally Hosting API |
|
00:18:00 |
|
App: Smack – Creating a web request in Xcode |
|
00:28:00 |
|
App: Smack – Registering a User |
|
00:16:00 |
|
App: Smack – Logging in a user |
|
00:20:00 |
|
App: Smack – Creating a user |
|
00:26:00 |
|
App: Smack – Avatar Picker Part 1 |
|
00:19:00 |
|
App: Smack – Avatar Picker Part 2 |
|
00:20:00 |
|
App: Smack – Generate a Avatar BG Color |
|
00:26:00 |
|
App: Smack – LoggedIn Interface |
|
00:28:00 |
|
App: Smack – Profile View |
|
00:26:00 |
|
App: Smack – Logging in users |
|
00:23:00 |
|
App: Smack – Getting channels |
|
00:19:00 |
|
App: Smack – Channels TableView |
|
00:14:00 |
|
App: Smack – Add Channel VC |
|
00:19:00 |
|
App: Smack – Sockets and Channels |
|
00:26:00 |
|
App: Smack – Refining Login Flow |
|
00:19:00 |
|
App: Smack – Fetching Messages |
|
00:20:00 |
|
App: Smack – Sending First Message |
|
00:17:00 |
|
App: Smack – Displaying Chat Messages |
|
00:18:00 |
|
App: Smack – Sockets and Messages |
|
00:19:00 |
|
App: Smack – Typing Users |
|
00:22:00 |
|
App: Smack – Unread Channels |
|
00:18:00 |
|
Where to go from here |
|
00:08:00 |
|
I’m Back |
|
00:08:00 |
Section 07: Maps and GPS |
|
Intro to App: Pixel City |
|
00:02:00 |
|
Creating Xcode Project: Pixel City |
|
00:04:00 |
|
Installing Alamofire / AlamofireImage Cocoapods |
|
00:07:00 |
|
Building MapVC UI /Conforming to MKMapViewDelegate /Setting Delegate of mapView |
|
00:15:00 |
|
Requesting Location Services in iOS 11 / Centering Map On User Location |
|
00:18:00 |
|
Adding UITapGestureRecognizer to Drop Custom Pins on MapView |
|
00:15:00 |
|
Setting a Custom Map Annotation Color |
|
00:05:00 |
|
Animating Photos View / Programmatically adding spinner and label subviews |
|
00:20:00 |
|
Adding UILabel for Pull Up View / Adding UICollectionView Programmatically |
|
00:17:00 |
|
Getting API Key from Flickr / Using Flickr API URL Format |
|
00:14:00 |
|
Using Alamofire to Download URLS |
|
00:21:00 |
|
Using Alamofire to Download Images / Cancelling All Sessions |
|
00:16:00 |
|
Setting Up UICollectionView / Adding Images / Reloading UICollectionView |
|
00:10:00 |
|
Building PopVC / Presentation PopVC When UICollectionViewCell is Tapped |
|
00:16:00 |
|
Adding 3D Touch Peek |
|
00:15:00 |
|
Challenge |
|
00:02:00 |
Section 8: iOS 11 In App Purchases |
|
Setting up developer |
|
00:10:00 |
|
Implementing Google AdMob |
|
00:19:00 |
|
Fetching a list of Products |
|
00:15:00 |
|
Starting an in-app Purchase |
|
00:09:00 |
|
Testing in-app Purchases |
|
00:18:00 |
|
Restoring in-app Purchases after App Deletion |
|
00:09:00 |
Section 09: Intro to Core Data |
|
Intro to App: GoalPost |
|
00:03:00 |
|
Creating Xcode Project / Project Folders |
|
00:04:00 |
|
Building GoalsVC |
|
00:14:00 |
|
Building GoalCell |
|
00:14:00 |
|
What is Core Data? |
|
00:06:00 |
|
Creating Goal Core Data Entity and Attributes |
|
00:08:00 |
|
Displaying Static GoalCells in UITableView / Creating GoalType Enum |
|
00:10:00 |
|
Building CreateGoalVC |
|
00:15:00 |
|
Creating a UIViewController Extension |
|
00:11:00 |
|
Creating a UIView / UIButton Extension |
|
00:19:00 |
|
Building FinishGoalVC / Passing Data from CreateGoalVC |
|
00:19:00 |
|
Saving Goal Data to Persistent Store |
|
00:13:00 |
|
Fixing Dismissal of FinishGoalVC |
|
00:07:00 |
|
Fetching Data from Persistent Store / Filling UITableView with Fetched Data |
|
00:16:00 |
|
Removing Objects from Persistent Store using UITableView Delete Action |
|
00:11:00 |
|
Setting Goal Progress for UITableViewCell |
|
00:15:00 |
|
Challenge |
|
00:01:00 |
Section 10: Full Stack Development With Firebase |
|
Intro to App: Breakpoint |
|
00:03:00 |
|
Creating Xcode Project / Setting Up Project Folders |
|
00:05:00 |
|
Creating Firebase Project |
|
00:11:00 |
|
Setting Up DataService / Creating Firebase Database Users |
|
00:11:00 |
|
Building AuthVC and LoginVC in Interface Builder |
|
00:18:00 |
|
Creating InsetTextField and ShadowView Subclasses |
|
00:18:00 |
|
Setting up AuthService |
|
00:13:00 |
|
Building FeedVC and GroupsVC in Interface Builder |
|
00:16:00 |
|
Presenting LoginVC from AppDelegate / Allowing Login with Email |
|
00:22:00 |
|
Building MeVC and Adding to UITabBarController |
|
00:10:00 |
|
Creating CreatePostVC and Uploading Posts to Firebase |
|
00:20:00 |
|
Creating UIView Extension for Binding Views to Keyboard |
|
00:15:00 |
|
Building FeedCell |
|
00:10:00 |
|
Writing the Message Model and Getting All Feed Messages from Firebase |
|
00:21:00 |
|
Converting UIDs into Emails and Reversing the Order of a TableView |
|
00:20:00 |
|
Creating CreateGroupVC and Connecting @IBOutlets/Actions |
|
00:15:00 |
|
Creating UserCell |
|
00:16:00 |
|
Searching for Email Accounts to Add to Group |
|
00:19:00 |
|
Adding Users to Group with didSelectRowAt indexPath |
|
00:21:00 |
|
Creating Groups and pushing them to Firebase |
|
00:16:00 |
|
Creating GroupCell |
|
00:15:00 |
|
Creating Group Model and Getting All Groups from Firebase |
|
00:19:00 |
|
Building GroupFeedVC |
|
00:18:00 |
|
Initializing Group Data for a Group and Presenting on GroupFeedVC |
|
00:16:00 |
|
Downloading All Message for a Group and Animating Upon New Message |
|
00:24:00 |
|
Creating a UIViewController Extension for Presenting GroupFeedVC |
|
00:07:00 |
|
Challenge |
|
00:02:00 |
Section 11: Intro to iOS 11 Machine Learning With CoreML |
|
Intro to app |
|
00:02:00 |
|
Intro to CoreML |
|
00:05:00 |
|
What is machine learning? |
|
00:08:00 |
|
Creating Xcode 9 project |
|
00:03:00 |
|
Building UI |
|
00:18:00 |
|
AVFoundation |
|
00:18:00 |
|
Tap gestures to take snapshot on item |
|
00:11:00 |
|
Core ML Xcode 9 Beta 4 Update / Fix Preview Photo Crash |
|
00:03:00 |
|
Downloading CoreML models |
|
00:21:00 |
|
Adding UI controls for flash control |
|
00:07:00 |
|
Training your app to speak what it sees |
|
00:18:00 |
Section 12: ARKit |
|
App: RampUp – Intro to ARKit App |
|
00:02:00 |
|
App: RampUp – Resources |
|
00:04:00 |
|
App: RampUp – Project creation |
|
00:11:00 |
|
App: RampUp – SceneKit, 3D models |
|
00:11:00 |
|
App: RampUp – Ramp picker popover |
|
00:14:00 |
|
App: RampUp – 3D models in SceneKit for popover |
|
00:18:00 |
|
App: RampUp – 3D models in SceneKit for popover part 2 |
|
00:12:00 |
|
App: RampUp – Detecting taps on 3D objects |
|
00:17:00 |
|
App: RampUp – Placing ramps in ARKit |
|
00:24:00 |
|
App: RampUp – Moving objects in 3D space in augmented reality |
|
00:20:00 |
|
ARKit – where to go next |
|
00:04:00 |
Assignment |
|
Assignment – Complete iOS 11 and Swift 4 |
|
00:00:00 |