Complete iOS 11 developer Bootcamp
4.7 (55 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
412 students enrolled

Complete iOS 11 developer Bootcamp

Learn to make iOS 11 apps in swift 4 - Covers coredata, realm, firebase, HIG, machine learning, Json, API and lot more
4.7 (55 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
412 students enrolled
Last updated 8/2017
English [Auto-generated]
Current price: $139.99 Original price: $199.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 22 hours on-demand video
  • 3 articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Build your own iOS apps
  • your will be able to apply for Jr. iOS developer
  • Learn to develop your dream app
  • create your portfolio with lots of apps in this course.
  • Get started as freelance iOS developer
  • Build full stack iOS apps
Course content
Expand all 132 lectures 21:45:25
+ Introduction
8 lectures 55:42

An introduction to entire course content. This video is about how to take this course and take most out of it. Also there is 1 special tip for everyone.

Preview 06:33

In this video of iOS 11, you will learn about what are the common tools that you will need. Apart from XCode, you should also look for something to create graphics. You can use canva, photoshop, affinity or sketch.

Preview 05:01

XCode looks really a big deal, if you are using it for the very first time. But XCode is the best IDE you will use. In this video, we will just get basics of XCode right

First look at Xcode

In this iOS 11 video, you will learn about XCode basics and project tour. There are a lot of files and section to go in, when you create a project in XCode. It will start to feel normal after a couple section ahead.

Detailed Xcode Tour

Before creating any project or doing even connection. It is very important that you learn to debug your application. This is the most common issue that people face while creating their first iOS app.

Preview 09:28

In this video, we will make our very first app called LightsOut. This part is about setting UI of the app. Again, do remember that we will learn about constraints, later.

Lights Out App design

Let's write some code to make this app functional. I can understand that a lot of you are not familiar with swift. So, after this video, we will jump to swift.

Lights Out App code - Your first App
Exercise files link with graphic assets.
+ Swift - A complete course on swift
9 lectures 01:12:54

In this video, you will get introduction to playground. Playground is a fast way to write quick code and learn the syntax in fast and easy manner.

Introduction to playground

Variables and constants are an easy way to store data. Variables can be changed but constants cannot be changed once they are set.

Variables and constants in swift

Type annotation is a way to infer variable type. Variables and constants can be of various types and sometimes it is important to pre define variable type.

Type Annotation

String interpolation is a way to put variables value in a string. Also we will learn about multilines comment, that can be helpful for writing codes.

String interpolation and multiline string

TODOs are a way to write self notes, so that you can come back later and write code here later. You can also use comments to write notes to explain codes about what that piece of code does.

TODOs and Comments

Arithmetic operations are basic operations that includes addition, subtractions, multiplication and divisions. This is most common operations that you will be doing in entire coding scenes.

Arithmetic operations in swift

Writing simple code that just keep going is not a smart code, code should be able to take decision based on some parameters.

If else and comparision in swift

One button App is a simple app that you can tap and turn off lights in our lights out app, in this video we will design UI for the app

One Button App - UI

Further in this app we will write code to make sure that app executes. for that we will use if else conditional code to make our app little smarter

One Button App - Code
+ Swift - Loops, range, nil coalescing and more
7 lectures 01:03:23

In the entire app development, we will write code to check if values are present or not. This can be done using nil coalescing operator.

Nil-coalescing operator

Logical operation are way to to check multiple condition at one time. For example checking if username and password are filled or not.

Logical Operations in swift

Loops are way to execute a piece of code again and again. For loop is the most common loop used to iterate over any piece of code

Loops and range in swift

Strings are the most common data types in iOS development. Usually all the inputs from users are going to come as string. Luckily, String are very advanced in swift

Strings - detail about methods

Whenever we need to store a collection of data, array is the data type that you want to use. Arrays are super easy to use as well as easy to loop through

Array and looping through them

The only issue with array is that it comes with it's own indexing system. In dictionary we can give our own indexing systems.

Dictionary in detail

Instead of using multiple if else nested block, switch and case are a better approach of writing code and test for a certain condition.

Switch and case
+ Human Interface guidelines - Design is important
10 lectures 01:33:07

Apple focus a lot on designing their app. Each app should follow a certain rule in clarity as well as font size specifications. All these specifications are mentioned in HIG

HIG - Human Interface guidelines

To make our app stand out, we are providing some custom designed assets and graphics. These graphics will make your app stand out

Get the design tools and free assets for the course

Next we will create a coffee app. In this video, you will learn about setting app icons. Further we will have flashscreen design

A coffee App - App icon and flash screen

Now, the app icons are set, we can further move towards creating the UI. XCode is really a nice IDE that helps us to design it

A coffee App - Designing UI

Finally, we will learn to connect outlets to our code file. Once these outlets are connected, we can change them using code

A coffee App - Writing Code

sometimes, keyboards can be little frustrating. To give user, best experience sometimes we need to remove the keyboard with enter being pressed

Dismiss the keyboard

Further we will get to our swift section. In this video we will learn about creating functions and using them in our ios11

Basics of Functions

Let's create a function that takes multiple arguments. This is a very practical  situation and can be used in alot of app tha we will be designing in ios 11

Multi Args returning functions

in iOS 11, naming the parameter have changed a lot. There are now options to just pass underscore to ommit the name of parameter

Naming of parameters in functions

variadic parameter accepts zero or more values of a specified type. You use a variadic parameter to specify that the parameter can be passed a varying number of input values when the function is called. 

Variadic functions in swift
+ Let's finish swift basics
6 lectures 51:57

Closure is a function in swift that doesn't have a name. In iOS 11 development, you will see a lot that closures are very common

Closures in swift

Classes are like a blueprint but you have read it over a lot of places. Now, you need to understand classes in a practical manner.

Basics of classes

Classes and structures are very similar in appearance and usage. Sometimes you can even interchange them. But doing that is not a good approach.

Classes and structures

Optional channing is used to write safe code. If defined values are not found, this can throw run time error, to handle these error, we use if let syntax. 

Optional channing and forced unwrapping

Extensions are a way to extend the existing functionality of a class or object. They are very easy to use in swift 4 but are exactly same as swift 3

Extensions in swift

Generic code enables you to write flexible, reusable functions and types that can work with any type, subject to requirements that you define. You can write code that avoids duplication and expresses its intent in a clear, abstracted manner.

Generics and scopes
+ Foundation of iOS development
11 lectures 01:58:41

In this video we will learn about the file structure of a Xcode project. There are a lot of files being generated and we will learn what each file is used for.

File structure in iOS Apps

Every app has a life cycle like when app is launched or when app is in background or is coming in active mode. When will learn about all these ios life cycle methods

App life cycle and view Hierarchy

performing segue means to take user from one screen to another screen. These screens are known as views in ios terminology

Performing Segues and adding View Controllers

picker view is most common selection type in iOS apps. It allows you to scroll from various options and select one out of many

Picker View basics in iOS 11

Now that we have dragged a picker view, it's time to write some code for that picker view. We will import some delegates and apply picker view.

PickerView basics - Code

There is a common bug that beginner face during picker view and I want to address that here. Now, your selected item will get selected perfectly.

Common bug in Picker View for beginners

Let's design an App for getting voters registered for election. Although this is a fictional app but selecting states from a state list is a challenge here.

USA register App - UI

Now that UI is ready, let link all of our outlets. Also we need to set picker view, so that user can select appropriate state of his/her choice.

USA Register App - Code

Next thing that we would like to address here is dismissing the keyboard. Sometimes keyboard can be an obstruction and we need to learn to dismiss the keyboard.

Dismiss Keyboard with tap on screen

Now, let pick some small topics. Navigation bar is a small component that can stick at top and provide some buttons and navigation details.

Navigation bar and toolbar

Another easy topic is slider and can be used to select multiple values from a definite set of numbers. You can also specify steps in each move.

Sliders in iOS 11
+ Autolayout, constraints and Stack Views
8 lectures 01:56:40

Constraints are something that makes you app looks like same in all devices. Basically it tells each component, where to stay on the screen.

Basics of Constraints in iOS

Now, we will move towards one step further. We would like to align items in such a manner that it looks decent on all screen sizes.

Positioning on multiple views

Finally, this video will introduce you to stack views. Stack views are life saver when it comes to keep all items in same place on multiple size devices.

Introduction to stack views

This is a practical video, where we will take a lot of views and will create an awesome layout with it. These layouts will look same on other screen sizes are well.

Preview 14:16

When ever you will put constraints to any component, there are 4 things that you have to take care. These four pillars are even valid in stack views.

Four pillars of constraints and varying traits

Now, let's create a runner's app. In this video we will create a UI for this. All items are custom designed and feel free to use them in your app.

Runners App UI Design

In this video, we will learn about creating app with time. This app will act as a stop watch. You can start, stop and pause time in this video.

Runners App code

This is a fun video and more such UI videos will come. In this video, I will walk you through with creating customized options in Xcode for circular buttons.

Preview 18:30
+ Table View in iOS
8 lectures 01:40:23

Table views are most common components used in iOS apps. No one can avoid them being used, as an app developer. It is better that we spend good amount of time with this component

Basics of table view in iOS11

Now that things are little set, we will learn to add a new view on our screen. moving from one screen to another is known as segue.

Adding new View Controller

One very important topic is passing information from one viewcontroller to another. There are fixed steps to perform this and we will learn about them in this video

Passing information from one segue to another

Now that we are able to add things in our table view, now we will learn to remove them. One easy way to remove them is via swiping. 

swipe to delete action

Static cell is something that will help you to design views like setting menus. There are a lot of static options that you can use.

Static cell - building a setting menu

Now let's move towards the customization of table view. This can be done by adding a prototype cell in our table view. You can add more than 1 prototype cells too.

Custom Cell in table View

Now, we will learn about using those prototype cells. To use these cell we need to call a methods known as deque reuseable cells. It also improves app performance.

dequeue reuseable cells in table view

tableviews can be customized a lot more based on how you are making your cell. You can even achieve instagram look with cells

More on customization of table view
+ CoreData in iOS 11
21 lectures 03:32:47

Let's get started with coredata. If you want that you app should keep some information stored permanent in database, then code data is your solution.

Coredata introduction and future reading resources

First step to work with core data is to make sure that you understand about data models. It's almost like defining classes and creating objects from classes.

Your data model basics And smiley TODO LIST app

Next up, we will design our UI for the App. This not a very fancy app. We want to focus more on core data, so just a table view and a screen for adding data will do for now.

Design your UI

First thing that we will learn will be adding task in database or in this case, in coredata. Adding task is simple, just call context and save your object.

Adding tasks in coredata

Next thing is to get data from coredata. Luckily core data just sends back all objects easily. we are going to store that data in array and will display it on our table view.

Getting data from coredata

Next we will learn to delete objects from coredata. We will use swipe to delete function to perform this task, just pass the object and reload the table view.

Deleting data from coredata and finishing App

Now, we will move towards some complex app using coredata. In this case we will use custom prototype cell as well as more control when objects are created.

Overview of our coursebook App

Further we will set up data models. Data models are like setting classes and properties inside them. We will also set some relations with other classes.

Setting data models and relationships in Core Data

Next up, we will learn to generate automated classes and properties files from our data models. Via these classes we can put further customizations. 

GenClass and GenProps from Core Data

We will take some time here to make our table view as the way we want it to be. We will  design custom cell view to customize our table view

Setting up table view and custom cell UI

Next, we will set a separate view controller. This view controller will be there to add information to our database. We will be able to select photos and write text and save them in database

Setting up Additional View Controller

As soon as we have a custom cell in our app, next thing is to get custom cell files. These files are used to create connection from cell items.

Creating custom cell view files

NFRC is a special way to control a lot of things in core data. You can control create delete update and move in your core data with it.

configure controller of NFRC

We will create some test data or generated data, so that we can learn to fetch some data from core data. This data will be shown in custom cells

Fetching data to update cell

Next we will learn to fetch data from core data. As of now we don't have any data in core data so we will create some test data.

Getting test data and fetching from core data

So our first view or table view in this case is almost done. It is ready to fetch any data from core data and can display it in table view.

Done with 1st view

This is the first time that you will learn to use photo library from the phone. Make sure that you remember to add permissions too.

Picking image from media gallery

Picker view is used in this app just to demonstrate that we can use relations to fetch data from other entities too. We will do the same in this video

Setting PickerView and test data

Next let's learn to save data in core data. Once this data is saved, even if app is terminated data is going be saved in the core data

Saving Course book info in CoreData

Editing is totally based in the context that you are using. If you are creating new context, then new object will be created.

Editing and deleting from core data

There is a minor bug in logic of this app. I would like to fix that in this video.

fixing update bug
+ Cocoapods and youtube App
5 lectures 40:51

cocoapods are an amazing way to use third part code in our app with much problem. swift being an open source, there is no shortage of pods

Introduction to cocoapods

installation of cocoapods is fairly simple. First install homebrew (if not already installed) and then just copy paste the line shown in video and that's it.

Installation of cocoapods

WE will learn to use pods via creating a youtube app. This app will be able to play youtube video playlist and fetch it directly from youtube.

Installation of youtube pod

just like always we will first design the UI of our app. We will keep design as simple as possible so that we can focus on code part

Youtube app design

we will learn to create youtube player view and will link it up to custom functions that we got from pod. This app will load playlist and will play it

Load playlist and final version of app
  • You should have an Apple device like Macbook, mac mini, iMAC etc
  • We will be working on Xcode 9 (available for free)
  • No prior programming experience is required

Complete iOS 11 developer Bootcamp is one of the finest online course available to learn iOS 11 development and swift 4. After successful iOS 10, we took a lot of feedback from students and based on that feedback, this course was created.

Course is ideal for complete beginners in iOS development with no prior programming experience. We will cover programming basics with swift and same will be used to write code for iOS 11 applications. We have also focused a lot on debugging issues. All errors are solved in front of students so that they can learn real world situation of dealing with programming problems. Nothing was done behind the recording. No code is being copy pasted. 

After taking this course, you will be able to push your dream app to app store or will be able to apply for Jr. iOS developer job. Course is really comprehensive and covers modern and latest tech like realm, firebase and machine learning.

Not only we have focused on just the basics, we have also prepared custom graphic assists, so that you can learn to design professional apps. 

Here is a list of few of the apps that we will be creating in this course:

  • A coffee app
  • Lights out app
  • One button lights out
  • USA registration app
  • Runners app
  • Smiley TODO with core data
  • CourseBook with core data
  • CourseBook with realm
  • Youtube app
  • Shuffle Music app
  • Profiller app
  • Minion App with firebase
  • Photo detector - machine learning app with CoreML
  • many more...

These are apps are comprehensive and we recommend to check the course content for detailed overview. You will realise that entire course is well structured with short length lectures with crisp content.

This is the perfect time to get started in iOS development. Have a look at course promo and course introduction video for more detail.

Who this course is for:
  • Students who are interested in iOS app development
  • students are wants to master iOS 11 development