Devslopes Ios11

Tags:

Build iOS Apps & Learn iOS 11, Swift 4, ARKit (Augmented Reality), CoreML (Machine Learning)

Last updated 2022-01-10 | 4

- Build iOS 11 & Swift 4 apps
- Work as an iOS contractor
- Apply to jr. iOS development jobs

What you'll learn

Build iOS 11 & Swift 4 apps
Work as an iOS contractor
Apply to jr. iOS development jobs
Submit iOS apps to the Apple App Store

* Requirements

* Must have a computer with OSX or macOS on it

Description

Welcome to the world's most comprehensive course on iOS development. 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 11
  • Apply to jr iOS development jobs
  • Work as an iOS contractor

Who this course is for:

  • People who want to build apps!
  • Those who want to create their own startup
  • Those looking to get a full time job as a developer
  • Business owners
  • Students & teenagers
  • People who want to make money building apps

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 between Swift 3 and Swift 4 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.

If you are a student of iOS 10: From Beginner to Paid Professional then feel free to start taking this iOS 11 course.

Keep in mind that this iOS 11 course has a bunch of new apps. So there is a HUGE benefit to ALSO go through the iOS 10 course - or you'll miss out on awesome content. 

Don't forget to join the free live community where you can get free help anytime from other students.

Here are a few things you'll learn:

  • Swift 4
  • Xcode 9
  • Interface Builder
  • Firebase
  • Build a Slack Clone
  • Maps & GPS
  • Core Data
  • ARKit & Augmented Reality
    CoreML & Machine Learning
  • Tables & Data
  • APIs, HTTP, and Networking
  • App Design
  • Storyboards & Segues
  • And a lot more...

Who this course is for:

  • If you are an absolute beginner to coding take this course
  • If you are an absolute beginner to iOS or mobile development then take this course

Course content

12 sections • 188 lectures

iOS 11 Course Overview Preview 10:46

Install Xcode 9 Preview 07:13

Xcode 9 Beta 4 Update Preview 09:06

App: Hustle - Your first iOS 11 App Preview 21:35

Variables, operators, and how computers work Preview 16:48

Source Code Preview 00:01

Source code for the Swift lessons

Strings in Swift Preview 15:22

Working with numbers in Swift Preview 19:53

Swift functions Preview 22:39

Booleans & conditional logic in Swift Preview 20:57

Constants & logical operators in Swift Preview 10:27

Array data structure in Swift Preview 13:06

Swift loops Preview 18:59

Dictionary data structure in Swift Preview 18:44

Object oriented programming in Swift Preview 12:00

Inheritance & OOP in Swift Preview 08:19

Polymorphism & OOP in Swift Preview 08:22

Optionals Preview 20:32

In this lesson, you will learn about optionals – one of the things that makes Swift really special. Optionals help to handle the absence of a value.

Enumerations Preview 19:47

In this lesson, you will learn about enumerations in Swift, how to use them, and how they can help you.

Extensions: Part 1 Preview 15:22

In this lesson, you will create a Swift Playground to learn the basics of extensions – from their syntax to their basic use.

Extensions: Part 2 Preview 20:32

In this lesson, you will learn how you could use extensions in a real iOS app.

Intro to Protocols/Delegates - Numbers Example Preview 13:04

In this lesson, you will learn the basics of protocols in Swift. You will learn one use case for protocols and extend the capabilities of several Swift types to utilize it's power.

Intro to Protocols/Delegates Part 2 - Question Generator Preview 17:31

In this lesson, you will continue learning about protocols and how they can be used within classes and structures.

Protocols/Delegates - Building Color Magic App UI Preview 16:29

In this lesson, you will build the UI for an app called Color Magic which will utilize the delegate method for transferring data between ViewControllers.

Protocols/Delegates - Using the Delegate Method in Color Magic App Preview 16:06

In this lesson, you will utilize the delegate method (protocols) to pass color and name data between ViewControllers.

Protocols/Delegates - Using Mutating Functions in Types Preview 18:02

In this lesson, you will create an app that toggles a light on and off using a protocol and an enumeration. The enumeration will utilize a mutating function to modify the switch status.

Swift 4 Quiz

Dev Tip: How to retain knowledge Preview 01:23

Git & version control - the fun way! Preview 11:59

Terminal Basics - Changing directories Preview 06:07

Terminal Basics - Creating directories & files Preview 04:30

Terminal Basics - Copying & renaming files Preview 08:57

Terminal Basics - Deleting files & directories Preview 06:01

Git Basics Preview 17:16

Setting up Github Preview 04:36

Working with Local & Remote Repositories Preview 11:14

Handling Git Merge Conflicts Preview 16:52

Dev Tip: Focus on today Preview 02:02

App: Swoosh 01 - Creating the welcome screen Preview 25:18

App: Swoosh 02 - Working with frames Preview 16:05

App: Swoosh 03 - Intro to auto layout (support multiple screen sizes) Preview 26:41

App: Swoosh 04 - Working with stack views Preview 26:38

App: Swoosh 05 - Intro to segues (changing screens) Preview 09:39

App: Swoosh 06 - Refactoring in Xcode 9 Preview 09:39

App: Swoosh 07 - Debugging: setValue forUndefinedKey Preview 03:45

App: Swoosh 08 - Programmatic segues Preview 09:01

App: Swoosh 09 - IBActions (handling events) & data models Preview 16:16

App: Swoosh 10 - Passing data between view controllers Preview 11:45

App: Dev Profile 01 - Auto layout for iPhones Preview 22:28

App: Dev Profile 02 - Auto layout for iPads (size classes) Preview 19:59

App: Window Shopper 01 - Custom text fields Preview 17:42

App: Window Shopper 02 - Input accessory views & IBDesignable Preview 15:06

App: Window Shopper 03 - Unit testing our data Preview 16:37

App: Window Shopper 04 - Calculation algorithm Preview 13:06

App: Window Shopper 05 - Custom drawing with drawRect Preview 12:26

Dev Tip: Don't ever do this one thing Preview 00:45

App: Coder Swag 01 - Project creation & IBOutlets Preview 22:32

App: Coder Swag 02 - Tableviews, delegate, and data source Preview 33:16

App: Coder Swag 03 - Collection views (grid layouts) Preview 12:34

App: Coder Swag 04 - Working with data models Preview 13:39

App: Coder Swag 05 - Displaying data in collection view cells Preview 20:02

Dev Tip: How to not get discouraged learning to code Preview 01:17

Intro to Chat App Preview 03:34

App: Smack - Project Setup Preview 25:46

Set up your project with assets and cocoa pods.

App: Smack - SWReveal Preview 20:11

Learn how to add a slide out menu using SWReveal

App: Smack - ChannelVC UI Preview 24:39

In this lesson we build out the ChannelVC UI

App: Smack - LoginVC UI Preview 22:28

In this lesson we build out the LoginVC UI

App: Smack - CreateAccountVC UI Preview 18:46

In this lesson we build out the CreateAccountVC UI

App: Smack - Web request and API Preview 08:53

Learn how web requests and APIs work

App: Smack - Hosting API Preview 19:58

Learn how to host an API on Heroku

App: Smack - Locally Hosting API Preview 18:10

Locally Hosting API

App: Smack - Creating a web request in Xcode Preview 28:13

Learn how to create a web request in Xcode

App: Smack - Registering a User Preview 15:46

Use web requests to register a user

App: Smack - Logging in a user Preview 20:13

Use web requests to login a user

App: Smack - Creating a user Preview 26:13

Use web requests to create a user on the API

App: Smack - Avatar Picker Part 1 Preview 19:05

Create an avatar picker using collection view

App: Smack - Avatar Picker Part 2 Preview 20:13

Create an avatar picker using collection view

App: Smack - Generate a Avatar BG Color Preview 26:21

Randomly generate avatar background color

App: Smack - LoggedIn Interface Preview 23:12

Update the UI based on logged in status

App: Smack - Profile View Preview 25:34

Create the profile view

App: Smack - Logging in users Preview 23:23

Use web requests and Alamofire to log in a user

App: Smack - Getting channels Preview 19:11

Use web requests and Alamofire to retrieve chat channels

App: Smack - Channels TableView Preview 13:38

Display the fetched channels in the table view

App: Smack - Add Channel VC Preview 19:26

Create the Modal to add Channels

App: Smack - Sockets and Channels Preview 26:11

Use sockets to add a new channel

App: Smack - Refining Login Flow Preview 19:10

Use notifications to refine the login flow logic

App: Smack - Fetching Messages Preview 20:01

Retrieve messages from the API

App: Smack - Sending first message Preview 17:11

Send first message to the API with sockets

App: Smack - Displaying chat messages Preview 17:56

Display the retrieved chat messages

App: Smack - Sockets and Messages Preview 18:37

Use sockets to send and receive messages

App: Smack - Typing Users Preview 21:29

Use sockets to know when others are typing

App: Smack - Unread Channels Preview 18:07

Use sockets to know there is an unread message

Where to go from here Preview 07:36

Take this app further!

I'm Back! Preview 07:43

Convert ISO8601 Dates

Dev Tip: Depth over breadth Preview 00:44

Intro to App: Pixel City Preview 01:44

Creating Xcode Project: Pixel City Preview 04:25

In this lesson, you will create the Xcode project needed to build Pixel City. You will also create the folders needed for this project.

Installing Alamofire / AlamofireImage Cocoapods Preview 07:11

In this lesson, you download and install Alamofire and AlamofireImage – very popular and well-supported CocoaPods we will use for networking.

Building MapVC UI /Conforming to MKMapViewDelegate /Setting Delegate of mapView Preview 14:55

In this lesson, you will build the user interface of MapVC and enable it to work by setting the delegate and conforming to MKMapViewDelegate.

Requesting Location Services in iOS 11 / Centering Map On User Location Preview 18:03

In this lesson, you will request location services bearing in mind the changes to iOS 11 location services.

Adding UITapGestureRecognizer to Drop Custom Pins on MapView Preview 15:09

In this lesson, you will use a UITapGestureRecognizer to drop pins on the map where you tap. You will also customize the appearance of these pins.

Setting a Custom Map Annotation Color Preview 04:33

Animating Photos View / Programmatically adding spinner and label subviews Preview 19:43

In this lesson, you will animate a UIView up which will eventually display a grid of photos downloaded from a location you choose. You will programatically add a UIActivityIndicatorView and UILabel to show download progress.

Adding UILabel for Pull Up View / Adding UICollectionView Programmatically Preview 16:51

In this lesson, you will add a UILabel to indicate image download progress and programmatically add a UICollectionView to the Pull Up View.

Getting API Key from Flickr / Using Flickr API URL Format Preview 14:05

In this lesson, you will access the Flickr API, request an API key, and observe the URL formatting Flickr uses so that you know how to navigate their API properly. Then, you will write a custom function that enables you to create a custom URL.

Using Alamofire to Download URLS Preview 20:57

In this lesson, you will download URLs for images using the Flickr API and Alamofire.

Using Alamofire to Download Images / Cancelling All Sessions Preview 16:22

In this lesson, you will download images and populate an array with images using the Flickr API and AlamofireImage.

Setting Up UICollectionView / Adding Images / Reloading UICollectionView Preview 10:11

In this lesson, you will set up UICollectionView to create cells with images using imagesArray. You will also reload the data of the UICollectionView so that it shows all images once they’ve finished downloading.

Building PopVC / Presenting PopVC When UICollectionViewCell is Tapped Preview 16:05

In this lesson, you will build PopVC which is a UIViewController that will display images. You will also set up UICollectionView to present PopVC whenever a cell is tapped.

Adding 3D Touch Peek & Pop to UICollectionView Preview 14:46

In this lesson, you will add 3D Touch functionality to UICollectionView. When you press lightly on a cell, you will be able to Peek at the content. A firmer press will Pop it onto the next UIViewController.

Challenge Preview 02:15

Dev Tip: Put yourself out there Preview 02:02

Setting up developer & iTunes accounts Preview 10:02

Implementing Google AdMob Preview 18:53

Fetching a list of products Preview 14:59

Starting an in-app purchase Preview 08:41

Testing in-app purchases Preview 17:36

Restoring in-app purchases after app deletion Preview 09:03

Dev Tip: How to create a successful app Preview 01:47

Intro to App: GoalPost Preview 02:35

In this video, you will be introduced to GoalPost – the Core Data goal setting app you'll be building in this section.

Creating Xcode Project / Project Folders Preview 03:41

In this lesson, you will create the Xcode project used to build GoalPost. You will also set up project folders for organizational purposes.

Building GoalsVC Preview 13:41

In this lesson, you will build GoalsVC in Interface Builder. This is the home screen of GoalPost.

Building GoalCell Preview 14:02

In this lesson, you will build GoalCell in Interface Builder and also create the code subclass to go with it.

What is Core Data? Preview 05:58

Creating Goal Core Data Entity & Attributes Preview 08:08

In this lesson, you will create the Core Data entity called Goal. You will also set up several attributes for that entity. Think of this like a model class and it's properties.

Displaying Static GoalCells in UITableView / Creating GoalType Enum Preview 10:12

In this lesson, you will configure some static instances of GoalCell in order to confirm that out UITableView is working properly.

Building CreateGoalVC Preview 15:12

In this lesson, you will build out CreateGoalVC in Interface Builder. This ViewController is where the user describes their goal and sets it type.

Creating a UIViewController Extension Preview 10:47

In this lesson, you will create an extension of UIViewController that will allow you to customize the presentation of UIViewController instances. You will cause the animation to resemble a UINavigationController animation.

Creating a UIView / UIButton Extension Preview 18:30

In this lesson, you will create an extension of both UIView and UIButton which will help with various UI enhancements.

Building FinishGoalVC / Passing Data from CreateGoalVC Preview 19:09

In this lesson, you will build out FinishGoalVC in Interface Builder and pass data to it from CreateGoalVC.

Saving Goal Data to Persistent Store Preview 12:39

In this lesson, you will write a function to save data to the Persistent Store using Core Data. You will save data from FinishGoalVC into the Persistent Store.

Fixing Dismissal of FinishGoalVC Preview 06:40

In this lesson, you will write another function in the UIViewController extension that will allow for the proper dismissal of FinishGoalVC. It will dismiss the current UIViewController and present the other simultaneously to avoid a stack of too many ViewControllers.

Fetching Data from Persistent Store / Filling UITableView with Fetched Data Preview 16:13

In this lesson, you will fetch data from the Persistent Store by using an NSFetchRequest. You will save the results in an array of Goal and display it in the UITableView.

Removing Objects from Persistent Store using UITableView Delete Action Preview 11:15

In the lesson, you will write a function to remove an object from the Persistent Store using a UITableViewRowAction set up for deletion.

Setting Goal Progress for UITableViewCell Preview 14:55

In this lesson, you will write a function to update the goalProgess attribute of the Goal entity. You will enable the UITableViewCells for goals to be updated with a UITableViewRowAction set to update the goalProgress attribute.

Challenge Preview 01:28

In this video, you will be given a challenge to extend GoalPost and add an undo feature.

Intro to App: Breakpoint Preview 03:21

In this video, you will be introduced to Breakpoint – the coder-centric social media app you will be building in this section. It features a public feed, group messaging, and a real-time Firebase backend.

Creating Xcode Project / Setting Up Project Folders Preview 05:04

In this lesson, you will create the Xcode project for Breakpoint and set up some organizational folders for the Model, View, and Controller layers as well as folders for Extensions and Services.

Creating Firebase Project Preview 10:38

In this video, you will create a new project in the Firebase Console. Then, you will download a .plist file containing valuable Firebase data. You will install the Firebase CocoaPods to give our Xcode project the ability to communicate with Firebase.

Setting Up DataService / Creating Firebase Database Users Preview 10:33

In this lesson, you will create a singleton class called DataService which will allow you to interface with our Firebase Database. You will write a function allowing you to create users and add them to the Database as well.

Building AuthVC and LoginVC in Interface Builder Preview 18:27

In this lesson, you will build out AuthVC and LoginVC in Interface Builder.

Creating InsetTextField and ShadowView Subclasses Preview 18:24

In this lesson, you will create the InsetTextField and ShadowView subclasses which you will use to set custom appearance for several UI elements in AuthVC and LoginVC.

Setting up AuthService Preview 13:04

In this lesson, you will write AuthService – a singleton class responsible for registering and logging in users to Firebase.

Building FeedVC and GroupsVC in Interface Builder Preview 16:20

In this lesson, you will build FeedVC and GroupsVC in Interface Builder.

Presenting LoginVC from AppDelegate / Allowing Login with Email Preview 21:50

In this lesson, you will set up the AppDelegate to monitor for changes to the currently authenticated user and present LoginVC if the user is ever logged out. You will also authenticate users with their email and upload them to Firebase.

Building MeVC and Adding to UITabBarController Preview 09:45

In this video, you will build MeVC – the profile screen – and add it as the third tab of our UITabBarController.

Creating CreatePostVC and Uploading Posts to Firebase Preview 20:14

In this lesson, you will build CreatePostVC in Interface Builder, then write a function which will allow you to upload feed posts to Firebase.

Creating UIView Extension for Binding Views to Keyboard Preview 14:49

In this lesson, you will create an extension of UIView that will let you bind any UIKit element that inherits from UIView to the keyboard so that when the keyboard slides up, so does the element you choose.

Building FeedCell Preview 09:38

In this lesson, you will build the interface for FeedCell in Interface Builder. Then, you will create the subclass code file and link them.

Writing the Message Model and Getting All Feed Messages from Firebase Preview 21:01

In this lesson, you will write out the Message model layer, considering everything a message should contain and at the end you will write a function that downloads all messages from Firebase.

Converting UIDs into Emails and Reversing the Order of a TableView Preview 20:15

In this lesson, you will write a function that converts a user's UID into their registered email for use in Breakpoint. You will also learn a ridiculously simple way to reverse the order of UITableView.

Creating CreateGroupVC and Connecting @IBOutlets/Actions Preview 15:02

In this lesson, you will build CreateGroupVC and connect the required @IBOutlets/Actions.

Creating UserCell Preview 15:39

In this lesson, you will create UserCell in Interface Builder and and code, then load static data to verify that they work properly.

Searching for Email Accounts to Add to Group Preview 18:42

In this lesson, you will write a function that will search through email accounts for users in our app and return those that match the search query.

Adding Users to Group with didSelectRowAt indexPath Preview 20:34

In this lesson, you will use the UITableView delegate method didSelectRowAt indexPath to show and hide a checkmark when the cell is tapped. You will also add users to a temporary array used when pushing the group to Firebase.

Creating Groups and pushing them to Firebase Preview 15:32

In this lesson, you will setup the 'DONE' button in the CreateGroupVC to push a group up to the groups child in Firebase.

Creating GroupCell Preview 14:59

In this lesson, you will create GroupCell in Interface Builder and and code, then load static data to verify that they work properly.

Creating Group Model and Getting All Groups from Firebase Preview 18:52

In this lesson, you will create a model layer called Group, which will be used to create instances of our groups from Firebase. You will write a function that will pull down all group data from Firebase.

Building GroupFeedVC Preview 18:00

In this lesson, you will build out GroupFeedVC in Interface Builder – the screen where your private group chat will live.

Initializing Group Data for a Group and Presenting on GroupFeedVC Preview 15:58

In this lesson, you will initialize group data when selecting a cell from GroupsVC, then present the data on the following UIViewController – GroupFeedVC.

Downloading All Message for a Group and Animating Upon New Message Preview 24:00

In this lesson, you will write a function to download all group messages and utilize a UIScrollAnimation to allow the UITableView to scroll nicely to the bottom when a new message is sent.

Creating a UIViewController Extension for Presenting GroupFeedVC Preview 07:29

In this lesson, you will write a UIViewController extension to animate the presentation of GroupFeedVC similar to how a UINavigationController does.

Challenge Preview 01:53

In this lesson, you will be given a challenge to extend Breakpoint to include several new features. You rock!

Dev Tip: Make A Schedule Preview 01:07

Intro to app Preview 01:53

Intro to CoreML Preview 05:08

In this lesson, you will be introduced to Core ML – one of Apple’s newestframeworks for integrating Machine Learning into iOS apps. You will learn what topics will be covered in thissection.

What is machine learning? Preview 07:50

In this lesson, you will briefly learn about machine learning – what it is, how it’sused, and why it matters.

Creating Xcode 9 project Preview 03:25

In this lesson, you will create your Xcode project and set up some organizationalgroups so we can begin building Vision.

Building UI & custom classes Preview 17:40

In this lesson, you will build the UI of the Vision app and write several custom viewsubclasses to customize view appearance

AVFoundation & AVCaptureSession to use the camera Preview 18:04

In this lesson, you will utilize AVFoundation to display a screen-sized camera view

Tap gestures to take snapshot on item Preview 11:17

: In this lesson, you will add a UITapGestureRecognizer to the camera view to enablecapturing images and pass those images to a UIImageView.

Core ML Xcode 9 Beta 4 Update / Fix Preview Photo Crash Preview 02:47

In this lesson, you will learn how to properly save the preview photo after the removal of availablePreviewPhotoPixelFormatTypes in Xcode 9 Beta 4.

Downloading CoreML models Preview 21:13

In this lesson, you will download and setup SqueezeNet, a CoreML model provided by Apple and use it to classify objects in an image.

Adding UI controls for flash control Preview 07:24

In this lesson, you will write an enum that will help the user of this app in turning thecamera flash on or off.

Training your app to speak what it sees Preview 18:06

In this lesson, you will create an instance of AVSpeechSynthesizer which will readout the classifications from our app in natural language.

Dev Tip: What kind of apps should I build? Preview 01:09

App: RampUp - Intro to ARKit App Preview 02:15

App: RampUp - Resources & important ARKit info Preview 03:54

App: RampUp - Project creation Preview 11:04

App: RampUp - SceneKit, 3D models & materials Preview 11:09

App: RampUp - Ramp picker popover Preview 13:54

App: RampUp - 3D models in SceneKit for popover Preview 17:42

App: RampUp - 3D models in SceneKit for popover part 2 Preview 11:44

App: RampUp - Detecting taps on 3D objects Preview 17:09

App: RampUp - Placing ramps in ARKit Preview 23:39

App: RampUp - Moving objects in 3D space in augmented reality Preview 19:41

ARKit - where to go next Preview 03:42

Dev Tip: How to get your first paying job Preview 02:40