Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Complete iOS Bootcamp - Swift & Objective-C
Rating: 4.6 out of 5(318 ratings)
55,036 students

Complete iOS Bootcamp - Swift & Objective-C

Beginner to Advanced iPhone / iPad App Development with Swift, Objective-C and Xcode.
Created byAmir J
Last updated 1/2021
English

What you'll learn

  • Make real-life iOS Applications using advanced and relevant technology.
  • Be prepared to take on any iOS development challenges on your own.
  • Create various iOS applications with advanced User Interfaces, graphics, and animations as well as proper backend and data persistency.
  • Be prepared for iOS jobs and technical interview questions.
  • Develop both 2D and 3D games (within iOS and XCode limitations)
  • Write complex Swift code
  • Write complex Objective-c Code
  • Know how to convert Swift and Objective-C code into each other
  • Be familiar with loads of external libraries
  • Have hundreds of tiny apps at your disposal to develop larger scale applications
  • Develop market-ready apps for the industry.
  • Use Google technologies such as Firebase and Google Maps
  • Learn how to use Mac Command Line
  • Know how to use Cocopods to search and implement a variety of libraries and frameworks
  • Create your own iOS frameworks

Course content

12 sections217 lectures35h 55m total length
  • Introduction5:11

    In this section, we will cover the following topics:


    • Hardware

    • Programming Languages

    • Different Software

    • Tool of Choice (XCode)

    • Use of iOS Simulator

    • Interface Builder

    • Developing a Very Basic App

    • Files In XCode

    • Some Basic Terminology

    • Using Text Views and Labels

    • Finally Getting Ready for Next Section

  • Hardware1:11

    You would need to keep the following in mind regarding the hardware you’d need to be able to use this course:

    • You could use a Mac Machine or Laptop (potentially you can buy a mac mini)

    • Or you can install Mac Operating system on a Windows machine

    • You don’t need to have an iPhone device to actually use this course


  • Software3:16

    Different software tools that one can use to develop an iOS app are also discussed. We briefly cover the advantages and disadvantages of each of them.

    An important matter in here is learning that software alone is not enough. We would also need a programming language

    A wide range of IDE software are used to develop iOS Applications. Some of them are as following:

    • XCode -> Apple default iOS IDE

    • Xamarin -> Microsoft cross platform (iOS, Android, Windows) IDE

    • PhoneGap -> HTML5 + Javascript iOS Development

    • Flutter -> Google’s new cross platform IDE

    IDE stands for -> Integrated Development Environment


  • Tools2:53

    Next we opt for XCode as our primary development tool. It’s an IDE that offers a wide range of options and it’s best suited for native iOS development.

    We will have to download a version from Apple Developer Website and install it on our computer

    XCode is equipped with various tools and programming languages and will take care of the debugging and running the app.

    The following two programming languages could be used to develop iOS apps in XCode:

    • Objective-C (older and yet quite useful)

    • Swift (more modern and most commonly used)

  • First App5:52

    For a very crude presentation, we start a new project in XCode and get a sense of what the different settings mean.

    We will also realize where are two programming languages are located and how we are going to use them throughout this course

    It’s important to notice that at this point, you might not understand a lot of these things and that’s perfectly fine


  • XCode3:34

    Let’s have a look at some of the basics of XCode and try and understand how different things work together

    XCode has 5 primary areas:

    1. Text Editor

    2. Toolbar

    3. Utility Window

    4. Navigation Window

    5. Debugging Area


  • Interface Builder6:35

    Interface Builder is used to design the visual elements of our iOS Apps

    Having a look through how we make basic outlets and attributes editor of the interface builder. We will also look at the dimensions and get a starting sense of how the point system works.

    In this lesson, we will make a Label that shows Hello World.


  • Simulator6:20

    Simulator will compile our app. Compile is the process of converting your code and interface into an actual app. It is actually more advanced than this simple explanation, but this simple one will suffice for now. iOS Simulator is used to display the app in a device-like simulator. Simulators have both device and version. One could have different devices with different iOS versions. A simulator although very similar, it is not the exact as the phone device.

    In this lesson, we'll get to simulate our app on different devices and different sizes. After trying different sizes, I suggested that you stick to only one as it will simplify your lives from now on.

    In this lesson, we will also briefly touch on making a simulator a default one and also how to add or remove simulators.

  • Understanding iOS8:18

    What’s the relationship between all these different files in XCode. What are they and how do they work? What should we wok on and how should we get comfortable working on our project? And also which files can be ignored for now?

    In this early stages, there are only ever 3 files that are important for iOS App development. Those files are:

    1. .storyboard file -> which is your visual design file

    2. .m file -> which is the actual programming file of your application

    3. .h file -> Which is the header file containing the declaration that also works as the connection between the .m and the .storyboard file

    Build ~ Run ~ Compile -> Is the process of converting the iOS project in XCode into an iOS App in Simulator (or a physical device)


  • Outlets10:41

    In this lesson, we will talk about outlast and how we can connect them to our app. Remember, it is not important to completely understand what is happening as this is more of an illustration

    For now you can just copy paste my code. Everything about properties, dot operation, cycles, etc. will come later

  • Text Views4:39

    In this lesson, we will play around with a textview in our interface builder. Text view is a container where you can add larger text content.

  • Labels and Text Views Exercise6:26

    In this exercise you are supposed to develop an app that has a label that shows hello world and a text views that shows your name and the city where you live in as well as some details about your city. Try and format your text.

    Don’t worry if you don’t get what’s happening. We will talk about all of this soon

  • Label Rows Assignment2:49

    In this assignment you are supposed to develop an app interlace with 8 labels where all the gaps are the same.

    Hint: Views have anchor points on their top left corner where the coordinates are x=0 and y=0. They then have width and height.

  • The Very Basics Recap2:45
  • Very Basics Quiz

Requirements

  • Basic understanding of how computers work.
  • Access to Internet
  • You would need a MAC OS Enabled computer. i.e. Mac, MacBook, MacBook Pro. iMac, etc.
  • Free IDE that you'll get from Apple's Website (XCode)
  • All programming and development matters will be covered in the course.
  • Preparation for loads and loads of new information

Description

Hi and welcome to the Complete iOS Development Bootcamp. This course is designed to be a one-stop shop for you to become an iOS developer. In designing this course I had the following matters in mind:

  • Covering the most up-to-date technology and methods.

  • Delivering everything that you need to know to develop advanced iOS applications ready for the market.

  • Instilling the attitude of problem-solving and making sure you know how to find your way on your own by the end of the course.

  • Covering almost all programming libraries related to iOS.

  • Providing numerous online and offline content to support your learning journey.

  • Providing tens of exercises and assignments to ensure you have enough practice.

  • Constantly updating the course based on students’ feedback.

  • Introducing all the best techniques of real developments.

  • Moving forward in the course and content complexity in a gradual manner that doesn’t overwhelm new programmers.


In developing this course I not only considered the beginner developers but also attempted to prepare it for those with intermediate iOS understanding or veteran programmers from other disciplines. In doing that, the course has been heavily subdivided. If you are totally new, it makes sense that you through the course lessons by lesson, but f you are already a programmer you can pick and choose on your own. hroughout this course, I covered a lot of different technologies and topics including but not limited to:

  • The very basics of developing an app

  • Use of XCode and customizing it

  • iOS Simulator

  • Basics to Advanced programming exercises

  • Basics to advanced user interface designs

  • Swift programming language at the depth

  • Handling touches and gestures

  • Use of graphics & Animations

  • Table views and Collection views

  • Version control

  • Device hardware features

  • Media

  • Networking

  • Maps and geolocation

  • Persistent data, Core Data & Realm

  • Accessing Web content

  • Notification

  • Sprite kit and 2D games

  • Scene kit and 3D games

  • Metal kit and low-level GPU

  • Augmented Reality Kit

  • Machine Learning Kit

  • Testing & Debugging

  • App store and Submissions


Throughout the course, I attempt to bring some of the best experiences I have gathered from years of teaching students to make sure you learn in the most efficient and the most useful way. In doing that I benefit from lessons, exercises, assignments, quizzes and external resources. I also stay available if you face any challenges and also constantly update the course content or add new ones depending on the feedback from students.


Prerequisites to join this course:

  • Basic understanding of how computers work.

  • Access to Internet

  • You would need a MAC OS Enabled computer. i.e. Mac, MacBook, MacBook Pro. iMac, etc.

  • Free IDE that you'll get from Apple's Website (XCode)

  • All programming and development matters will be covered in the course.

  • Preparation for loads and loads of new information


By the end of the course

  • Make real-life iOS Applications using advanced and relevant technology.

  • Be prepared to take on any iOS development challenges on your own.

  • Create various iOS applications with advanced User Interfaces, graphics, and animations as well as proper backend and data persistency.

  • Develop both 2D and 3D games (within iOS and XCode limitations)

  • Be prepared for iOS jobs and technical interview questions.

  • Write complex Swift code

  • Write complex Objective-c Code

  • Know how to convert Swift and Objective-C code into each other

  • Be familiar with loads of external libraries

  • Have hundreds of tiny apps at your disposal to develop larger scale applications

  • Develop market-ready apps for the industry.

  • Use Google technologies such as Firebase and Google Maps

  • Learn how to use Mac Command Line

  • Know how to use Cocopods to search and implement a variety of libraries and frameworks

  • Create your own iOS frameworks


Who is the target audience?

  • Anyone interested in developing iPhone / iPad apps (with or without any programming skills)

  • Experienced programmers who want to begin iOS development real quick.

  • Anyone who wants to focus on the programming side of iOS development.

Who this course is for:

  • Anyone interested in developing iPhone / iPad apps (with or without any programming skills)
  • Experienced programmers who want to begin iOS development real quick.
  • Anyone who wants to focus on the programming side of iOS development.