Intermediate Mobile App Development (Swift 3, iPhone iOS10)
4.7 (7 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,102 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Intermediate Mobile App Development (Swift 3, iPhone iOS10) to your Wishlist.

Add to Wishlist

Intermediate Mobile App Development (Swift 3, iPhone iOS10)

Gain the proficiency to start a career as an iOS developer with Swift 3 & Xcode 8 (learn 10 different iPhone API's)
4.7 (7 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,102 students enrolled
Created by Dee Aliyu Odumosu
Last updated 4/2017
Current price: $10 Original price: $20 Discount: 50% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 5.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Feel confident in your iOS app development skills.
  • Work with multiple developers on a single project using BitBucket.
  • Integrate third party library in your app using cocoapods.
  • Draw 2D graphics, use core data, add gesture recognisers and much more.
View Curriculum
  • You will need to know basic iOS development before joining this course.
  • This course is ideal if you have completed the Mobile App Development for Beginners course, but the beginning course is not required.

Are you a beginner developer that’s looking to improve your skills? Do you want to take your iOS development skills to the next level? Do you want to learn some of the new Apple API such as Touch ID and Quick Action? If you answered yes to any of these questions, then this course is for you. Also, if you have taken my beginner course, then this course will take you to the next level.

After completing this course, you will be ready to apply for jobs. You will gain a confidence boost in your skills and your ability. 

In this course you will work on 10 different APIs, including drawing with Core Graphics, Using Touch ID, persisting data with Core Data and much more (see full curriculum below).

It is recommended that you have a basic working knowledge of iOS development before enrolling in this course. If you don’t have any knowledge of iOS development, I recommend starting with my Mobile App Development for Beginners course first.

After completing this course:

1) You will be ready to for an iOS development job.
2) You will be able to develop medium to complex apps.
3) You will have a better understanding of working with repository and integrating third party libraries into your own app.
4) You will have more confidence in your skills and ability.

Here is what you will learn in the course:

3D Touch Quick Action

- Learn the two different ways to create home screen shortcut menu when a user 3D Touches on the icon

- How to perform different actions based on the menu selected from the quick action

- How to add custom icons to shortcut item

- How to check the force touch capability of a device 


- Learn how to get the layer of a view and how to change some of the properties such as background colour

- Learn how to add a border to a layer

- Learn how to add a corner radius and a shadow to a layer

- Learn how to add content such as an image to the layer

- Understand the Mask to bounds property of a layer

- Learn how to add gradient to a layer

- Learn how to add flip a layer

Cocoapods & 3rd Party Libraries

- Installing cocoapods

- How to initialize pod file for Xcode project

- How to integrate third party libraries into our project

Core Data

- How to add UIAlertController to obtain user inputs

- How to set up core data model, entity and properties

- How to save value to core data

- How to fetch all records from core data

- How to display NSManagedObject record

- How to edit core data records

- How to delete an object from Core Data

Core Graphics

- How to use Quartz 2D API to draw a 2D line

- How to draw paths

- How to draw a rectangle 

- How to fill a path with a color

- How to fill a rectangle with color while preserving it’s path color

- How to draw a circle/ellipse

- How to add shadow to drawings

- How to draw an image on a view at a point, or in a rect

- How to redraw a view with the SetNeedsDisplay method

Gesture Recognizers

- How to add tap gesture to a view that does not have a tap gesture

- How to add long press gesture to an image view

- How to add swipe gestures to a view

- How to add pinch gesture recognizer

- How to add pan gesture recognizer

- How to add gestures directly on the storyboard object.

JSON Tutorial

- How to read a JSON file using a built-in API

- How to display the contents on any JSON in a table

Touch ID 

- Checking a device support for Touch ID

- Dealing with an error where user has a Touch ID capable device but has not set a passcode.

- How to use Touch ID to protect sensitive information on iOS devices

- How to set a fall back password when a Touch ID fails

Download from Internet using URLSession

- Create URLSession and Download task objects

- Delegate methods to track completed and download errors

- Set progress view to monitor download progress

- How to stop, pause and resume an active download task

- Configure app transport security setting in order to work with http links

Version Control with Bitbucket and SourceTree App

Topics include;

- Creating an account with BitBucket

- How to connect Xcode to a repository on BitBucket

- How to commit and push code from within the Xcode

- How to create a new Xcode project from an online repository 

- How to pull changes from a repository

- How to use source tree to commit, push and pull changes

- How to checkout another version of a app.

This course is going to help you take your app development skills to a whole new level. 

If you're ready to become a proficient app developer so you can work as a freelance or full-time developer, click the "Buy Now" button and join the course today!

Who is the target audience?
  • This course is for you if you want to learn marketable app development skills so you can find work as a developer.
  • This course is for beginning to intermediate iOS developers with some experience, but it's not for the complete novice.
  • You should have a basic working knowledge of Xcode.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
83 Lectures
Start Here
3 Lectures 05:11
JSON Serialization
6 Lectures 24:12
Designing the UI of the JSON app

Quick introduction to what JSON is and how to add it to our app

How to read JSON from bundle and convert it to data

How to serialize JSON from data

Get the friends dictionary from JSON object

Displaying the json contents on a tableview
Core Data
11 Lectures 44:25
Core Data App UI Design

Add UIAlertController to get user input

Save value provided by the user and display on table view

Modify UIAlertController to take 2 textfield inputs

Initialise a cell with a style without registration

Set up the data model for the entity and attributes

Save NSManagedObject to core data

Fetch all the objects inside the core data using fetch request

Displaying NSManagedObject details using value for key

Edit NSManagedObject values

Deleting objects from the managed context
How To Use Cocoapods
4 Lectures 25:09
Installing Cocoapods

Pod init, pod file and pod install

Using a third party library with cocoapods in our app

Integrating another third party library with cocoapods
11 Lectures 20:03
Creating the UI for CALayer App Sample

CALayer definition and the color property

Add border to a layer

Add corner radius to a layer or view

Add shadow to a layer

Add content (image) to a layer

Mask to bound property of a layer

Adding a layer as a sublayer

Add gradients to a layer

How to flip a layer

Setting layer contents gravity
3D Touch Quick Action
7 Lectures 28:31
Designing UI for the Quick Action app

Creating shortcut item inside info.plist

Creating shortcuts items inside app delegates

Performing action when the shortcut item is selected

Presenting different screens from shortcut item

How to add a custom icon to shortcut item

Checking force touch capability of device
Gesture Recognizers
7 Lectures 30:29
Creating UI For Gesture Recognizer App

Add tap gesture recogniser to an object

Add a long press gesture recogniser

Add a swipe gesture recognizer

Add a pinch gesture recognizer

Add a pan gesture recognizer

Add a tap recognizer from object library and create action
Touch ID
7 Lectures 35:02
Touch ID App UI Design

Checking if a device can use Touch ID and dealing with errors

Showing a successful Touch ID on device and displaying error on label

Evaluate policy and dealing with errors

Successful access to the secret page and unwind segue

Setting up the fall back password

System cancels error
How to Download with URL Session
7 Lectures 35:41
Designing the UI of the app

Creating urlsession and download task objects

Showing progress and successfully download file to the UI

download completed with error delegate method

How to set the progress view to monitor download progress

How to stop, pause and resume a download task

Configuring app transport security setting in info.plist
1 More Section
About the Instructor
Dee Aliyu Odumosu
4.5 Average rating
257 Reviews
17,509 Students
7 Courses
Freelance Developer with over 120 Apps Developed

Dee has developed over 120 apps for clients, including both individuals and start-ups, from around the world. The apps range from basic to very complex, some of which can be found on his website. Dee’s passion for computer programming began in 2006 with his first contact with Java programming language. He continued to learn different languages, including Microsoft ASP.NET, Ruby on Rails, C#, some PHP and HTML and CSS. Dee briefly pursued a MCSE (Microsoft Certified System Engineer) certification before he decided he wanted to become a full-time programmer. He achieved a Microsoft Certified Professional status. For the last 4 years, Dee has been programming the iPhone using Objective-C and Swift language

In 2013, Dee decided to further his education in Software Development by earning a distinction in his Masters of Software Engineering degree from Queen Mary University. He graduated with a 1st class in BSc Computing in his first degree. 

One of Dee’s passions is tutoring. His first YouTube channel video tutorial was uploaded in 2007 where he was teaching PHP, but he later created Microsoft ASP.NET video tutorials and Visual Studios. He has a genuine interest in ensuring that learners understand whatever topic is being presented. 

Dee currently resides in the UK as a freelancer. He prides himself on his creativity in taking customers ideas from the paper to the app store. Two of the apps he developed received funding from angel investors and he is a co-founder of a New Zealand start-up currently valued at over $1 million. 

You can be assured of Dee’s courses and credentials. His dedication and commitment to his work and support will be of exceptional quality and he can teach you how to become an app developer. See you inside.