Buying for a Team? Gift This Course
Wishlisted Wishlist

Please confirm that you want to add GitHub for XCode (Swift/Objective-C) create a beautiful app to your Wishlist.

Add to Wishlist

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.
120 students enrolled
Created by Icaro Lavrador
Last updated 4/2016
$10 $200 95% off
3 days left at this price!
30-Day Money-Back Guarantee
  • 2.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Have a coupon?
What Will I Learn?
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
View Curriculum
  • Basics about Programing

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.

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
Students Who Viewed This Course Also Viewed
Curriculum For This Course
Expand All 26 Lectures Collapse All 26 Lectures 02:20:28
Introduction to this course
2 Lectures 07:43

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

Preview 05:17

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.

Preview 02:26
Starting With GitHub
5 Lectures 13:24

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

Creating a GitHub account

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

Creating a new repository

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

Adding a new collaborator to your repository

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

Developer B View

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

Challenge #1
Starting with XCode Developer A point of view
3 Lectures 13:51

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

Creating the App

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

Challenge #2

(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

Initial commit and push to GitHub and what a commit and a push is
Starting with XCode Developer B point of view
1 Lecture 06:28

(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.

Pulling the initial application to developer B computer
Getting the changes from one developer to another
2 Lectures 14:09

(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

We need to pull the changes before start the changes, but what is a pull?

(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.

One Brunch for each developer, but how we create it and why?
Start the Swift logic with Developer A
5 Lectures 36:03

(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

Interface Builder (IB)

(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

View and ViewController MV from the MVC how they know of each other

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

Challenge #3

(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.

Understanding why there is more than one way to create an IBOutlet

(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

Merging the data from development brunch to master brunch *
Creating the Model the "M" on the MVC
8 Lectures 48:50

(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

Merging from master to the developer brunch and learning how to solve conflicts

(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

Very simple model and introduction do lldb

(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

Creating a Struct to add an Author to the Quotes


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)

Preview 01:18

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)

Preview 09:34

(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

MVC, can someone draw me a picture of what is it? Yes we can!

(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

A new Class for the new and abstracted Model

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)

Challenge #5
Final Quiz
0 Lectures 00:00

Questions directly relatated to GitHub

About GitHub
3 questions

Questions directly relatated to Swift

About Swift
3 questions
About the Instructor
4.2 Average rating
361 Reviews
3,557 Students
9 Courses
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.
Report Abuse