GitHub for XCode (Swift/Objective-C) create a beautiful app

GitHub for XCode learn how to create a beautiful app coding collaborating in the cloud. Working solo or in colaboration
4.0 (20 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.
116 students enrolled
92% off
Take This Course
  • Lectures 26
  • Length 2.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 3/2016 English

Course Description

Did ever think about have access to the world’s largest open source community? To be able to share your projects with the world, get feedback, and contribute to millions of repositories?

Better than this just if you could have access to all of this directly from inside XCode, making everything from only one place, coding, committing, pushing and pulling the code or even creating new branches, merging branches and even solving conflicts in a very visual interface.

If you are working in group or as a collaborator in a project you probably want great great communication between users and/or collaborators, making clear review changes, comment on lines of code, report issues, and plan the future of your project with discussion tools all this with less friction development across teams and/or friends.

Learn all this building an application from beginning to end using Swift, learn about MVC designing, debugging, lldb, and so much more.

This course is full of challenges that we can all participate as an individual or as a group afterall we will learn how to master GitHub the world’s largest open source community so we will be able to share our code, our ideas and specially our knowledge.

What are the requirements?

  • Basics about Programing

What am I going to get from this course?

  • Create a repository in GitHub
  • Commit, Push and Pull changes to this repository
  • Work with source control in collaboration with more users
  • Create and Merge brunches
  • Create Tags for new App Versions
  • (Swift) Create a new App that display quotes
  • (Swift) Create and understand a MVC
  • (Swift) Create a beautiful App from begining to end

Who is the target audience?

  • Everyone that want to learn more about Git and GitHub or any other Source Control
  • Everyone that want to learn step-by-step how to build an end-to-end app in XCode (Swift)
  • Everyone that want to have control over past source code
  • Everyone that want to learn how to work in collaboration with other users
  • Everyone that want to create a beautiful iPhone App

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 this course

Why is this course so important, why you should take it and how how to that the maximum advantage of it


Let me tell you a little about me, my experiences and how I think I can help you, please after you finish watch this video introduce yourself too as I want to get to know you as well. After many months on Udemy I made many new friends, partners, find people to collaborate with me and for me to collaborate with, you maybe find may new people like this here I am looking forward to hear from you.

Section 2: Starting With GitHub

(GitHub) How to create a GitHub account from scratch, what are the options and what they mean to you


(GitHub) How to create a new repository from scratch, what are the options, with ones should you select and why


(GitHub) What is a collaborator, and why and how to add a new collaborator to your repository


(GitHub) What happens to developer B once developer A adds this developer to his repository?


(GitHub) Create a GitHub account and share it in the discussion board (level: very easy)

Section 3: Starting with XCode Developer A point of view

(Swift) In this lecture we will learn how to create your XCode project for the Quotes app we are going to develop


(GitHub) Create a new repository and share it in the discussion board (level: very easy)


(GitHub) What is a "commit" and a "push"? Commit is how we create "points" in the code to so we can refer to this points later in case we need, push is the act of send this commits or points in code we create to the brunch we are working on and don't worry more about brunchs coming very soon

Section 4: Starting with XCode Developer B point of view

(GitHub) Developer B needs to start work in the application that developer A already start, how do developer A gets the code that developer A already push to GitHub and how to developer B start to push his own changes to GitHub as well.

Section 5: Getting the changes from one developer to another

(GitHub) Pull is when we bring the changes from the brach to our machine, it is best practice to pull the brunch before start to work on it so we have the latest code to work with


(GitHub) One of the very important aspect of source control are brunches, with brunches our work is more compartmentalized, and one developer change does not affect another, also we can keep the master always working and tested. In this lesson we will learn how to create brunches and understand it a little better.

Section 6: Start the Swift logic with Developer A

(Swift) Interface Builder is where we graphically design our application, in this lecture we will see how to use some of the options available to us inside interface builder and add our first label to the screen


(Swift) Questions about MVC are always present, is very important to understand this pattern as Apple uses it everywhere, in this lecture we will start to understand more about Views and ViewControllers, what they are, what are the diferences between the two of them and how they know about each other


(Swift) Create a new IBOutlet without use Control + Drag (Level: Medium)


(Swift) Sometimes can be difficult to Control + Drag in a Object so we need to find other ways to create IBOutlets to make development easier.


(GitHub) Once we finish with a certain amount of work we should merge your code to the master repository, we do this by uploading the current brunch to GitHub, Pulling the master brunch down and merging the two. Once is done we commit and merge the new master brunch to GitHub

Section 7: Creating the Model the "M" on the MVC

(GitHub) Sometimes will happen, two developers will change the same file, the same function and conflicts will happen, in this lecture we will learn how to solve find and solve this conflics


(Swift) Models can be very simple, in this lecture we will start to build our model with an array that will "live" in the same class that the main view controller, after understand better the part this model play we will move it to its own place. We will also talk about lldb and learn some tricks to make debuging even easier


(Swift) Structs (like classes) are the building blocks of your program’s code in this lecture we will lear how to create a struct to hold the detail of our quotes, for now the quote and author



This challenge involves many steps:

  • Create an Author UILabel
  • Center Quotes UILabel in the screen
  • Right align Author UILabel
  • Make the Author label smaller than the quotes label
  • Create an IBOutlet for the Author label
  • Populate the Author label with the corresponding author for the displaying quote

(Level: Medium)


This lectures is packet with content we will first create a label, learn how to align this label (left, center, right and justified), how to change the font size and where to change the font and style.
We will also see how to refectory some code (change the code withour alter the functionality)


(Swift) MVC or Model-View-Controller is a software architecture or design pattern assigns that defines not only the roles objects play in the application, it defines the way objects communicate with each other, we will have a brief introduction about MVC in the lecture before we start to abstract the Model from the current Controller


(Swift) It is very important to know what to move to the Model, what to leave in the controller in this lecture we will be refactoring the code and abstracting the Quotes model completally from the controller so it can be reuse in any other controller and/or app


Sometimes we can interact with the model in more than one way, so far we have been requesting the quotes in a fashion order but we could implement a function that would return a random quote, also one function could depend on the other for example we could return a random number.

This challenge consists in:

  • Create e new UIButton to return a random quote
  • Create a UIOutlet for this button and the necessary code to request the new quote
  • Create a new function in the Quotes class that returns a new quote

For extra credits:

  • Create consistence between the next quote and the random quote so when the user is on a random quote and select the next quote the return quote is the next based on the quote displaying

(for example, if the user is on quote 1 and the user tap on the random button and it display quote 3 when the user press next it should display quote 1 as quote 3 is the last quote and so on)

Section 8: Final Quiz
3 questions

Questions directly relatated to GitHub

3 questions

Questions directly relatated to Swift

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Icaro Lavrador, Swift Expert|Senior iOS Developer|Udemy Premium Instructor

  • I am an "eternal student", I start programing when I was just 10 years old and to this day I still learning new things every day.
  • Because of my passion in learn new things I developed a passion to teach as well, I start helping people at Stackoverflow where I am ranked as the top 10% Developer Help for Swift and top 20% Developer Help for iOS.
  • You will not see my name in many app as I am the go to guy to fix problems, I offer my work mainly as a contractor solving problem that the others professional cannot solve.
  • I start develop software and consultancy when I was 15 years old and never stop, today I want to help people because I read every day the code produced by the professionals in the field and I can honest say they are mostly JUNK.
  • One of my clients try to use an Udemy iOS course to argue about some strategies he took in his code. After see so many WRONG explanations, so many BAD advice I decide to create my own courses. I watch over 15 top rated courses at udemy and out before decide to take action
  • My courses are create to make YOU the best in the field, I can guarantee that if you take my courses you will drop jaws in interviews, companies are desperate looking for good developers and they will pay you over $100k/year to work for them.
  • But you have just one shot to impress, so make it the right one, learn right, learn it once, make money forever.

Ready to start learning?
Take This Course