Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
iOS Development for Apps & Games
Rating: 4.5 out of 5(2 ratings)
42 students

iOS Development for Apps & Games

Create and publish amazing iOS apps & games from scratch on the iOS platform using the Apple SpriteKit framework & Swift
Last updated 12/2018
English

What you'll learn

  • Use Xcode to create apps
  • Work with Swift data types, arrays, dictionaries, and loops
  • Work with table views to display rows of data
  • Learn the basics of SpriteKit framework
  • Build games using the SpriteKit framework
  • Discover the tips and tricks to boost your productivity while using Xcode IDE
  • Manage source code using source control platforms such BitBucket and GitLab
  • Develop user interfaces with Dark Mode and test apps with this newly introduced feature
  • Learn how to upload apps to the app store

Course content

3 sections106 lectures9h 7m total length
  • The Course Overview6:24

    This video gives an overview of the entire course.

  • Xcode Installation4:06

    In this video, we will learn how to install Xcode using two different methods.

    • Use the App Store app to download Xcode

    • Download Xcode directly from Apple developer website

    • Install Xcode on your computer ready to be used for development

  • Creating a New App3:19

    The steps that are needed in order to create first Xcode project will be studied in this video, once the project is created we'll run our first iPhone app.

    • Launch Xcode app downloaded previously

    • Provide all the details required including the app name

    • Create a new project and run the app in the simulator

  • Quick Tour of Xcode User Interface3:51

    In this video, we will learn that Xcode is divided into different sections and each section performs different section. Learn what each section does.

    • Open Xcode from where we left off from last section

    • Have the project navigator and utility section open

    • Learn what the toolbar and debug section does

  • Add a Label, Button, and Image View to App Screen7:02

    In this video, we will learn how to add objects such as label, button and image view to the screen of the app.

    • Open the object library in the utility area

    • Drag a label, button and image view to the app screen

    • Edit objects attributes and align them correctly on the scene

  • Xcode Preview4:28

    In this video, we will use Xcode preview tool to see a preview of our app screen on different iPhone screen sizes to avoid running multiple simulators.

    • Open the assistant editor from the tool bar

    • Choose the Storyboard preview tool to from the jump bar

    • Add preview for different iPhone screens sizes

  • Layout Constraints and Auto Layout Tool4:41

    In this video, we will use Xcode auto layout tool to pin objects to positions based on the constraints places on them.

    • Select an object and open the Pin tool from the bottom right corner

    • Add constraints to the object, including fixed height constraints

    • Get constraints added to all the objects and preview them

  • UINavigation Controller and Text View5:07

    In this video, we will use navigation controller to enable the ability to push one screen on top of another screen.

    • Embed the view controller in a navigation controller

    • Add a title to the newly added navigation bar

    • Launch the app to see how navigation controller works

  • Exploring Playground4:45

    In this video, we will learn creating Xcode playground is different from Xcode project, playground allows faster code execution.

    • Create Xcode playground using the welcome screen

    • Get familiar with different section of playground

    • Understand how to create a new playground page

  • Swift Data Types, Constants, and Variables7:33

    There are 4 main data types that are used while writing Swift codes, and knowing the difference between variables and constants is crucial, this will be studied in this video.

    • Create four different variables that model different information

    • Observe the data type using type inference of Swift

    • Use let and var keywords for constants and variables

  • Setting Up App User Interface with Auto Layout5:17

    In this video, we are going to set up the Xcode project for the app we need to use throughout the course, and then add automatic layout constraints to all the views.

    • Create a new Xcode project for the MyTasks app

    • Set up the user interface with text field, label, text view and button

    • Use the “Add missing constraints” option to automatically add constraints

  • Connecting Objects to Code Using IBOutlet and IBAction7:15

    In this video, we will learn that in order to be able to perform actions with the button, and also be able to reference the text field and text view, we need to set up IBAction and IBOutlet references in code.

    • Select the object on the storyboard, click the assistant editor

    • Control drag from the object to the code file to set up IBOutlets

    • Control drag from the button to the code file to set up IBAction

  • Navigate Using Segue and Initial View Controller7:09

    In this video, we will learn navigating to other screens sometimes requires segue, we are going to set up modal and show segue and understand the differences.

    • Drag two view controllers from object library to the storyboard

    • Create a modal and show segue to each of the new scenes

    • Set the correct initial view controller for a storyboard

  • Using the Arithmetic, Remainder and, Not Operators6:41

    In this video, we will learn while writing codes, we need to be able to perform operations on numbers. We need to learn how to add, subtract, multiply and divide using the arithmetic operators, We also need to learn how to get the remainder of a division and how to inverse a Boolean operation.

    • Learn how to use the arithmetic operators

    • Get remainder of a division using remainder operator

    • Inverse the value of a Boolean using the NOT operator

  • Comparison Operators and if…else Statement6:11

    In this video, we will learn that we can compare two values using the comparison operators. We can check greater, less and equality of two numbers using these operators. If…else statement allows us to branch to different parts of our code based on certain conditions.

    • Compare two values using the greater, less or equality operator

    • Use if statement to conditionally execute a code block

    • Use else statement to execute an alternative branch/path of code

  • Introduction to Optional7:27

    In this video, we will learn optional values are data types that can hold a value or be empty (nil). There are benefits to using Optional data types, they force code safety and ensure that we do not access variables that do not have values when we need them.

    • Learn what Optional data type is and how to create it.

    • Learn how to check for nil and unwrap Optional data type

    • Use optional binding to unwrap optional type safely

  • Obtaining User Inputs4:59

    In this video, we will learn part of app development is to be able to validate input fields to ensure that there are valid values before the values are used in an operation. Lack of values can cause a crash when the values are used.

    • Validate text field input using optional binding

    • Validate text view input using optional binding method

    • Combine two optional binding statements for cleaner code

  • Dismissing the Keyboard on iOS6:16

    In this video, we will learn keyboards are automatically shown when the input fields gain focus, but when the field lose focus the keyboard will not be hidden automatically. Learning to hide the keyboard is crucial and there are different methods that can be used.

    • Use the function of the view to end editing

    • Use large button overlay to hide the keyboard

    • Use the touch began method of the view controller

  • Swift Array6:09

    In this video we will learn that sometimes in our app we need to create collection of similar items, we may want to have a variable to holds fruits. Array allows us to hold object of similar types, and allows to access each element using an index.

    • Initialize a simple array of string with values

    • Add and remove items from the array using array index

    • Explore more useful array methods and properties

  • Swift Dictionary8:19

    In this video we will learn dictionary also allows collection of items, but there are key differences between array and dictionary. One of these differences is that dictionary does not allow duplicates, unlike array. Dictionary values can be retrieved using keys, indexes are not available in a dictionary.

    • Initialize a simple dictionary with key and value pairs

    • Add and remove values from a dictionary using appropriate keys

    • Explore other useful dictionary methods and properties

  • Working with Loops and Iterating through Array and Dictionary7:26

    In this video we will learn computers are able to do repetitive tasks very fast, and sometimes we need to go through a large data set very quickly, e.g. to find numbers that are multiple of 5 between 1- 1000. Doing this manually will take a long time, but with a loop, this can be achieved in seconds.

    • Write a simple for…in loop using a close and half open range

    • Loop through values in an array, using a specialized for…in loop

    • Iterate through a dictionary using a special for…in loop

  • Introduction to Object-Oriented Programming8:40

    In this video we will learn object oriented programming allows us to model our app as an object. Objects have properties and thinking about our code in terms of object we are able to write codes that model real world example. We will create a simple structure that model a real-world object.

    • Understand object oriented programming using real world examples

    • Create a simple structure (struct) that will hold some properties

    • Create multiple objects from the same struct to model real world object

  • Exploring DatePicker Object7:32

    In this video we will learn that in our task app, we need to be able to pick a date for which the task will be completed. The date picker object allows us to pick date and time and will inform us of the date that we have selected.

    • Add date picker object to the scene and add constraints

    • Use a date formatter to get a correct date format

    • Get the date selected using the value changed event

  • Save Task Objects in Array7:38

    In this video we will learn that we have been able to obtain the user input for the task name and task description, and then we also added the task date as part of the task details. It's time to put all of these three different data together as one unit. We will create a task object using a struct.

    • Create a task struct with the correct stored properties

    • Create multiple objects from the struct using task data

    • Add task objects to the array using the append method

  • Swift Functions and Methods8:16

    In this video, we will learn that sometimes we want to manage multiple lines of code as one unit, a function allows us to have a code block and then call the code block by name to execute all the codes within the block. Functions and methods are the same thing, however there is one slight difference.

    • Understand what a function is and why it is required

    • Create a simple function and call it by name

    • Create a function that takes one or more parameters

  • Dismissing a View Controller7:40

    In this video, we will learn that modally presented view controller do not have a default close mechanism, unlike views that are pushed using a show segue. In order to dismiss a view controller there are two possible methods that can be used; unwinding segue or calling the dismiss function of a view controller.

    • Use the dismiss function to close a modally presented VC

    • Understand what unwind segue is and how to execute it

    • Write an unwind segue function to dismiss a view controller

  • Working with Tab Bar Controller4:20

    In this video, we will learn how tab bar controllers allow us to manage multiple screens in a different way to a navigation controller. The screens that are managed by a tab bar controller are more accessible and easier to navigate. Tab bar controllers are commonly used to manage up to 5 important screens that should be one click away from the main screen.

    • Understand the difference between tab bar and navigation controllers

    • Embed a navigation controller in a tab bar controller

    • Add more screens to the tab bar controller

  • Introduction to Table View Controller8:06

    In this video, we will learn how table view controller is one of the most common objects in IOS development as it allows rows of data to be displayed without much effort. Table view can have multiple sections, and each section also having multiple rows. There are number of methods that we can use to configure how the table view behaves, such as the number of sections or rows it should have.

    • Create a custom table view class for a table view controller object

    • Explore some of the table view methods and their functions

    • Understand cell, rows and section and how they are used

  • Displaying Task Objects Using Table View Controller8:27

    In this video, we will learn how we have an array that holds all of the task objects the user created. Now it is time to display all of these task objects in a table view. We'll use a special table cell that has a subtitle property to achieve this. Table view has different styles, we'll configure an identifier and then use each row of the table to display each element of our task array.

    • Give an identifier to the table view cell

    • Configure the table view cell using the row property of index path

    • Change cell type to use subtitle style to display description

  • Showing Alerts with UIAlertController7:05

    In this video, we will learn alerts are used to interrupt user's interaction with the app, sometimes used to get user's attention when an events occur in our app. Most times events are used as input mechanism, so that the user can confirm that they want to perform certain actions in the app.

    • Create a simple alert and present it to the user

    • Add a cancel action to the alert to dismiss it

    • Add OK action to the alert to run block of code

  • Persisting Data Using UserDefaults7:31

    In this video, we will learn that there are different ways to persist data on iOS but the simplest form is the use of user defaults to save simple types such as String, Int, Float, Boolean and so on. We can also easily retrieve data saved to the user defaults using a valid key.

    • Create a custom class for the favorite view controller

    • Save task description to the user default using alert action

    • Retrieve the saved string on favorite screen for display

  • Designing the Navigation Bar2:50

    In this video, we will learn that the look and feel of the navigation bar can be easily customized without writing a single line of code. Attribute inspector allows us to change some of the common properties of the navigation bar.

    • Change the background color of the navigation bar

    • Change the navigation bar custom font style and size

    • Change the navigation bar button item tint color

  • Designing the Tab Bar with Images and Colors3:32

    In this video, we will learn tab bars can have images but adding these images is not very straightforward. Also, tab bar background color and the default tint color for these images can easily customised using the attribute inspector.

    • Change the tab bar background color using attribute inspector

    • Download tab bar images and add them to the assets folder

    • Add images to tab bar and customize the tint property

  • App Launch Screen6:12

    In this video we will learn every app starts with a launch screen, which is shown briefly to the user. The app launch screen will give the user a first impression on the design of the app. It's always recommended to have a great design on the launch screen. Launch screen should have similar color theme to the app icon.

    • Download an image to use on the launch screen

    • Add the image to the launch screen storyboard view controller

    • Use a trick to see the launch screen for five seconds

  • Add Icons to the App7:29

    In this video we will learn IOS platform requires icons of different sizes for different parts of the app. Generating these icons require us to use an image editing software to do this, but there are many tools that we can use to generate these icons with a click of a button. We also need to create a large icon of size 1024 pixels that will be required on iTunes connect. Finally we'll add these icons to our project.

    • Create a simple icon using the Canva.com website

    • Use the asset catalogue creator app to generate icons assets

    • Add the assets to the project and build the app

  • Creating New App on iTunes Connect5:47

    In this video we will learn iTunes connect is the website where we manage all the information that the users see on the app store. This information includes the app screenshots, the app icon, the app category, pricing and so on. In order to create a new app on iTunes connect, we first need to set up app ID on Apple developer's account, and then use this app ID to create a new app.

    • Add apple developers program account login credentials to Xcode

    • Create a new App ID on Apple developer's website

    • Create app on iTunes connect using the new app ID

  • Uploading App to iTunes Connect9:27

    In this video we will learn that the last step is to upload the app to iTunes connect from Xcode. We need to use a generic IOS device to create an archive. The archive will be uploaded to iTunes connect as a build which we can submit for review. Before we can submit the app for review we need to provide other important information that are required, and we also need to upload app's screenshots.

    • Check important app settings before creating an archive to upload

    • Generate an archive using a generic iOS device on Xcode

    • Upload the archive and provide required information on iTunes connect

  • Test Your Knowledge

Requirements

  • Basic programming knowledge is assumed. However, no prior knowledge of iOS programming is required.

Description

The world’s most beloved mobile platform, iOS is a fun to develop apps and games for! iOS programming with Swift is the perfect starting point for learning to create apps and games that run on iPhone and iPad. Apple's SpriteKit framework is a part of the native SDK that enables developers to get into game development without unnecessary overhead and a long learning process. If, you're a developer who wishes to give an amazing experience to the users by creating apps and games for the iOS platform, then look no further. This course is for you!

This comprehensive 3-in-1 course is a perfect mix of concepts and practice that will help you to develop a variety of iOS and iPhone applications and games from scratch. With a firm grounding in the fundamentals of the Swift language, and knowledge of how to use the SpriteKit framework, you will be able to build a number of interesting applications and games with iOS, Swift, SpriteKit, and publish them on the App Store. You will also get some exciting tips, best practices, and techniques to fasten your iOS development and become a confident iOS developer.

Contents and Overview

This training program includes 3 complete courses, carefully chosen to give you the most comprehensive training possible.

The first course, iOS Programming in 7 Days, covers iOS development career in one week! Build and publish a complete iOS app from scratch with this practical course designed for beginners. Explore the user interface and learn how to navigate around. Get hands-on experience with Swift and learn some of its basics. Add more feature to your app and improve the user interface. Learn how to add app icon and the launch screens and then prepare the app for the app store.

The second course,  iOS Game Development, shows you how to build a game from start to finish. This is a classic cat and ball game, where the cat tries to catch a ball to earn points and to avoid danger balls. This course will show you how to add actions to your game such as moving your sprite (cat) from one location to another, detecting collisions, and adding animations to your game. You will learn how to add real-world physics, sounds and background music, start and end game scenes, labels, and actions to your games. The course will also show you how to add launch screens and app icons and publish your course to App Store Connect.

In the third course, Xcode 10: Tips, Tricks, and Techniques, you will learn how to implement some practical and proven techniques to improve particular aspects of iOS application development. You will master new changes in Xcode that are not related to productivity but improve the quality of life for developers and make using the tool a lot of fun. Connect Xcode to source control platforms such as GitHub, BitBucket and GitLab. You will also improve your productivity and offer a better user experience using Xcode 10. This course focuses on discovering new possibilities with Xcode 10 to enhance your current skill set.

By the end of this course, you will be able to build your own iOS apps and games and publish them on the App store.
Meet Your Expert(s):

We have the best work of the following esteemed author(s) to ensure that your learning journey is smooth:

  • Dee Aliyu Odumosu 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 can be found on his website. Dee's passion for computer programming began in 2006 with his first contact with the 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 Microsoft Certified Professional status. For the last 4 years, Dee has been programming the iPhone using Objective-C and Swift.

Who this course is for:

  • This course is for iOS developers who are keen to build apps and games on the iOS 11 platform using the Apple SpriteKit framework and Swift.