Make iPhone Apps Using Swift, Xcode and iOS8 - 7 Apps

How to make apps for iPhone using Swift programming. New apps added every month, the never ending Swift course. 7 Apps!
4.3 (272 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.
9,457 students enrolled
Take This Course
  • Lectures 92
  • Length 16.5 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 11/2014 English

Course Description

Learn How to Make iPhone Apps! Make Your Own Mobile Apps! New Apps Added Every Month!


Do you want to make iPhone apps? Ever had a great idea for an app but didn't know where to start, or how to finish successfully?

You've found the course that solves those problems!

Make a New App Every Month in 2015! App Tutorials Added Monthly!

Mobile Application Development Made Easy

Throughout this course you will:

  • Learn the Swift programming language using my step by step method
  • Learn the inner workings of the Xcode editor to make and deploy apps
  • Develop seven iPhone apps from the ground up... while learning
  • Learn code best practices to help avoid nasty errors
  • Become an official app developer
  • Learn Xcode auto-layout to deploy your app on any device

Learn how to make an app for the iPhone using three example apps within the course!

My teaching method employs long regarded master techniques to help you learn more easily, and to reinforce what you've learned!

Be the App Builder - Learn Swift Programming Fast

This course is designed with the beginner programmer in mind, no experience is required. In the course we'll learn the Swift programming language, how to use Xcode, and how to make iPhone and iPad apps.

This course is for anyone that wants to learn how to make apps for iOS devices and publish them to the App Store! Perhaps you have a killer app in mind, or you're just looking to get your feet wet, I'll guide you step by step.

Become an App Developer - Put Your Apps in the App Store!

By the time you've finished the course you will know how to develop apps and be well on your way to a rewarding experience as an app developer. Let's go!

Core Data Tutorial

NEW!: Core Data (the simple way to learn what confuses developers.)

New apps for January, February, March, April and May have been added.

What are the requirements?

  • A general understanding of programming will help but is not required.
  • A Mac running Mavericks or Yosemite is required.

What am I going to get from this course?

  • Make your own iPhone and iPad iOS 8 apps and sell them in the app store.
  • Understand the Swift language and be able to code an app with confidence.
  • Learn how to use Xcode to develop apps.
  • Learn how to become an app developer.
  • Make a NEW APP EVERY MONTH in 2015!
  • Now includes a proper Core Data app tutorial!

Who is the target audience?

  • This course is designed with the beginner Swift developer in mind.
  • No prior coding experience is required.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Introduction to Swift Programming for iOS 8

You can expect to learn the basics of the Swift programming language. I'll guide you step by step through the learning process... you do NOT need any prior programming experience. Not only will you learn about Swift, but you'll also learn about the Xcode editor which is used to edit and create applications for iPhones, iPads, and Mac OSX. I've built in quizzes throughout the course to help better your understanding of the subject material.

By the end of this course you will have built five iOS applications and will have a solid understanding on how to build your very own dream app, modeled and coded from the ground up, and how to distribute it to friends, family and the App Store!


You actually don't need much to get started coding applications in Swift... basically two things.

First, you'll need a Mac with OSX Mavericks or OSX Yosemite. Next, you'll need to download the free Xcode editor and IDE from the Mac store.

That's it, you're ready to learn!


All course content is included in HD format, but you may see blurry text... Here is how to fix that.


In this video we will look at the service and see if this is an option for users who do not have a Mac system.

How to Ask for Help - Don't Be Shy!
Section 2: Let's Learn the Basics of Swift Code!
25 questions

This quiz is designed to help you determine what you already know. Most of the subjects in here will be covered in detail. Please note that it is not expected that you score very well on this quiz... so fear not! Also, there is much more to the class than is in this simple quiz. Go ahead and take the quiz and we'll move forward with the nitty gritty details of making apps!


Ready to take the plunge and look at your first bit of code? Great! In this lesson we'll look at constants and variables, two core elements of the language.

Let's go!

4 pages

Reference material for Integers, Floats, Doubles, and Operators. In addition, some or the mathematical concepts are explained.


In this lesson we'll take a closer look at Integers, Floats, Doubles, Strings, Operators, and a little more info about the Swift code syntax.

15 questions

This quiz is meant to be a refresher on the last two lessons, let's see how well you're doing. Don't be afraid of getting anything wrong, there is no penalty, but it may point out areas you might consider revisiting.

4 pages

Reference material for the basic syntax and rules for if and switch statements.


So we now know the basics of creating variables and constants, including all the number types. Now its time to actually put them to work in our code.

In this lesson we look at if and switch statements, both compare values and control the flow of your code based on the result. Lets get started.


Now that you've wrapped your head around if / else statements let's take a look at a shorter way to write simple if /else statements using Swift's ternary operator.

2 pages

This document shows the basic syntax of the for/for-in loops, and the while/do-while loops.


Loops in Swift are very powerful ways to iterate over values such as arrays, dictionaries, and ranges. In this lecture we'll learn how for/for-in and while/do-while loops work.

12 questions

Time for a short refresher quiz about if and switch statements, and for and while loops.

2 pages

Reference material for functions.


Swift functions make your code cleaner, more reusable, and better organized. You can think of functions as little code helpers, they help you automate repetitive tasks and allow you to used them anywhere in your code once they've been created. Lets put some functions to work in your code now!

10 questions

Functions are a very important part of the Swift programming language, and as such, we'll do a short review of what we just learned.

2 pages

Reference materials for Arrays.


The Swift programming language has two collection types; Arrays and Dictionaries. Arrays store a collection of like type items (for example; all Integers or all Strings) in a certain order, they can even store collections of Arrays. Dictionaries on the other hand store key/value pairs, which can be easily referenced by their key. There are benefits and things to consider when choosing a collection type for your data. Lets take a closer look at Arrays and in the next lesson we'll discuss Dictionaries and see how they compare.

3 pages

Reference and general syntax for Swift dictionaries.

Has the dust settled from the Array class yet? Hmm, brush it off, we're now going to look and see how Dictionaries work and how they compare to Arrays as a collection type.
15 questions

This short quiz will serve to reinforce the key concepts you have learned about arrays and dictionaries within the Swift language.


Sets are a collection type in Swift that was added in version 1.2 of the language. They allow you to basically create a data container that stores values or other information and makes sure that each entry is indeed unique. Sets look very similar to Arrays and therefor when a set is used it must be explicitly declared as a set, otherwise Swift would assume it is an Array.

Section 3: Lets Make an App! -- Answer Ball App

Download the Answer Ball app source code here.

4 pages

A brief summary of how the app creation flows from concept to App Store.

Before we actually start coding and putting our app together we need to briefly take a look at Xcode and where some of the key features are located. In this video we do just that. Open up Xcode and put our headgear on!
Xcode - Connecting the Storyboard to the View Controller .swift File
We've now seen the interface for Xcode and it is time to start adding our user interface and graphical elements to the Storyboard.
At this point we can connect the necessary elements to the View Controller so we can start coding the app's functionality. We'll do both in this lesson.
10 questions

This brief quiz reinforces some of the concepts we learned while making the Answer Ball app.

Section 4: Returning to Learn more Swift Code
3 pages

Tuples syntax and reference sheet.


Tuples are used to group related information and pass it around as a single, compound value. Tuples support mixed types like Strings, Integers, and more in the same Tuple, so it is not surprising to see them used quite a bit in Swift code. Tuples, while good at what they do, are not meant to replace more complex data types like classes and structures. Let's take a look in a playground.

3 pages

Reference materials for Optional values. This explains forced unwrapping, checking the value via an if statement, and optional binding.


Optional state that a variable has a value, or no value at all. This is not the same as saying the value is zero or false, rather, it is completely empty (nil).

2 pages

Reference material for enumerations.


Enumerations in Swift allow you to define a common type for a group of related values. This allows you to interact with the data in a type safe way. Although enumerations aren't used by beginning developers that often, they are used extensively in Apple's frameworks, you cannot avoid them. Learn about enumerations in this lesson.

Closures Reference
3 pages

Closures group code into a self-contained reusable unit within your program. Sound familiar? It should because I just described a Function, which we learned about earlier. Don't get confused, there is a simple explanation:

Functions are a type of closure -- specifically, they are a named closure. If you are coming from another language you may know functions as anonymous functions, lambdas, or even code blocks. If this is your first foray into coding there is no reason to get hung up on the concept. As I'll describe in the video a closure is simply a function without a name... or a function is a closure with a name. Watch the video so you know what to look out for.

Section 5: Classes and Structures
3 pages

A brief introduction to classes and their syntax.


Classes are code constructs that contain properties and methods and are considered the building blocks of an object oriented programming language. In Swift classes and structures are very similar, so we simply call an instance of a class a, well, an instance rather than an object. We'll talk about the differences between classes and structures soon, but for right now we'll be focusing our attention on classes.


In our first code example of classes we'll gain an understanding of class properties, methods, instances, and initializers. In addition to understanding these concepts we'll see how to set up custom initializers to make our classes more useful and efficient.


Classes are a very powerful feature in Swift, and like within other object oriented programming languages, classes in Swift can have subclasses. When you define a new class based off of another class you are creating a subclass, this subclass inherits all of the properties and methods of it's 'super' class. You can then add more methods and properties, or override the ones that were inherited to create a more specialized class. In this lesson we're going to learn how to do just that.


Classes and Structures in Swift are very similar, but there are a few key differences you should be aware of when writing your code. While structures in Swift are much more versatile and powerful than they are in most other programming languages, they are still intended for simpler code situations. A good general rule of thumb when deciding to use a class or a structure is this; if you plan on passing complex values such as objects within the code, use a class instead of a structure. We'll take a look at the specifics in this video.

Section 6: Property Observers

In this video we will explain and display how getters and setters work in Swift.

Section 7: Extensions

Extensions allow you to add extra functionality to classes, structures, and enums where you otherwise may not have access. For example, in this lesson we will add extra functionality to the String type.

Section 8: Another App! -- Cat & Dog Days App

The Cat & Dog Days App source code file (entire Xcode project folder) is attached to this lecture. This code is compliant for Xcode 6.3.2+ and Swift 1.2.


An introduction to the next app we'll be creating - Cat & Dog Days, a cat and dog age calculator. In the making of this app we will modify the standard viewController class, work with arrays, work with if/else statements and switch statements, transform redundant code into a function, and play audio within the app.


In this lesson we go through the process of creating the new app.

Section 9: Persistent Data with NSUserDefaults

The NSUserDefaults example source code file (entire Xcode project folder) is attached to this lecture. This code is compliant for Xcode 6.3.2+ and Swift 1.2.


In this short video you will learn what NSUserDefaults are and when and why you might choose to use them over a more robust persistent data method like Core Data

Section 10: Core Data - Explanation / Usage + Jan 2015 App - Grocery List App

Find out what exactly core data is and why it is important to learn as an app developer.


The Core Data Grocery List App source code file (entire Xcode project folder) is attached to this lecture. This code is compliant for Xcode 6.3.2+ and Swift 1.2.


Starting the Core Data Application.


Here we will learn how to create the Data Model that Core Data will rely on to store and deliver information for our shopping list app.


Continued from previous lesson, be sure to take previous lesson first or you may be a bit lost.

Section 11: Feb 2015 App - Tip Calculator with Slider

In building this app we will go over some key details of app creation that we've only previously glossed over before. This app is a tip calculator that uses a ui slider to control the tip percentage. In addition, you will also learn how to create a .xib file (launch screen), how to create an app icon for the app store, and how to create a catalog of app images to be used throughout the app's distribution. We'll also go over getting a certificate for production and upload the app to the app store through iTunes Connect.


The Tip Calculator App source code file (entire Xcode project folder) is attached to this lecture. This code is compliant for Xcode 6.3.2+ and Swift 1.2.


In this section we create the look and feel of the app, including the use of images to make the app nicer to look at.


As simple as this app sounds, there are about ten different connections we need to make to the view controller file from the storyboard, including a double include for the slider.


This is a very basic app, and chances are if you place a price on it within the App Store you'll never make a sale... With that said, this gives us a great opportunity to go through the submission process; from getting a distribution certificate, to uploading the build through Xcode, we'll cover all the bases in this video.

Section 12: March 2015 App - DiceCrapperPro - Creating a Dice Craps Game

In this video we'll learn about the DiceCrapper Pro app that we'll be creating and take a look at some of the features and how the app is written.


The DiceCrapper App source code file (entire Xcode project folder) is attached to this lecture. This code is compliant for Xcode 6.3.2+ and Swift 1.2.


In this video we begin setting up the storyboard and XIB (launch screen) images as well as importing all the images we need for the app. We also add code to dismiss the view controller on the rules view.


In this video we add all of the needed graphics to the main story board, we then create the outlets and actions for the entire game view. In addition we create an audio player instance as well as adding a couple of needed variables and the main connection to NSUserDefaults.


In this video we begin adding the logic needed to turn these graphics and text into a full-fledged dice craps game, complete with betting and persistent chip balance. Most of the logic is performed using sets of IF and SWITCH statements.


In this video we finish and test the final bit of game logic within the view controller.


There is a lot of logic in that view controller. Here, we add the rest of it.

Section 13: April 2015 App - Calculator with Memory and Special Function Keys

The Calculator App source code file (entire Xcode project folder) is attached to this lecture. This code is compliant for Xcode 6.3.2+ and Swift 1.2.


The primary focus of this lecture is to take a closer look at auto layout while we design the calculator app. Up to this point we've been more focused on the code, but in this video we'll talk mostly about the user interface elements and design.


Some people shy away from adding custom fonts to their apps because they think its hard. Well, I'm here to show you just how easy it really is. In this video we'll add the custom font used for the digital display of the calculator.


In this video we begin to add the code needed for the calculator to function properly. This includes a short discussion and implementation of a variable with getters and setters.

App - Calculator 4
Section 14: MVC - Model View Controller Design Architecture

In this video lecture we will learn what the MVC design pattern is and how it makes programming more organized.


In this video we take our very first app (Answer Ball) and apply the MVC design pattern to it, clearly showing the benefits of using the MVC architectural design pattern.

Section 15: May 2015 App - MedTracker with Local Notifications

This lecture contains the source code for the MedTracker App, attached, as a zip file. The code is compliant for Xcode 6.3.2 and Swift 1.2.


In this video we take a look at the final product and go over what you will learn, specifically how to send local notifications, working with UI switches and segmented controls, and a neat little trick to make your table views look better.


In this video we set up all the view controllers that we will need for the application to work properly and we also create the data model for Core Data.

App - Coding the Main Table View Controller
App -Coding the Add / Edit Medication View Controller - part 1
App - Coding the Add / Edit Medication View Controller - part 2
App - Coding the Track / Remind View Controller and Connecting the Outlets
App - Track / Remind Controller - Setting NSUserDefaults for Meds Taken
App - Creating the Local User Notifications

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Jason Rybka, Swift Developer, Web Developer, Internet Security Consultant

I've been developing web sites and programming since 1999, I know about a dozen different programming languages and I am an expert in Internet Security.

I am fluent in the following languages; Ajax, Applescript, HTML 5, CSS 3, PHP, Java, Javascript, jQuery, Python, Ruby, Objective-C, Swift, and XML.

Out of all the languages I know the newcomer Swift is one of my favorites. I began studying the language the day the documents where released to the world by Apple and I have yet to stop. In my courses I apply the concepts I've learned in a language that is clear and understandable to even non-programmers. I understand learning a new language sometimes has a high learning curve and I minimize this obstacle by adapting proven teaching methods and reinforcement messages to make sure my students fully understand the material.

In 2010 I fulfilled my dream and became a successful full time web designer and app developer creating my own small business XBSJASON TECH SERVICES. I spend my time developing web sites, creating Enterprise applications, making custom code solutions, and evaluating and advising on security thresholds for clients in the New Jersey, New York metro area.

I love being creative and solving problems, programming and web design allow for this passion quite nicely. I also love teaching, I think information and knowledge is power, and we should never stop learning new things.

Ready to start learning?
Take This Course