4.35 out of 5
24 reviews on Udemy

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
Icaro Lavrador
153 students enrolled
English [Auto-generated]
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

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.

Introduction to this course

A brief 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

A brief introduction about me

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.

Starting With GitHub

Creating a GitHub account

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

Creating a new repository

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

Adding a new collaborator to your repository

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

Developer B View

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

Challenge #1

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

Starting with XCode Developer A point of view

Creating the App

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

Challenge #2

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

Initial commit and push to GitHub and what a commit and a push is

(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

Starting with XCode Developer B point of view

Pulling the initial application to developer B computer

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

Getting the changes from one developer to another

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

(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

One Brunch for each developer, but how we create it and why?

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

Start the Swift logic with Developer A

Interface Builder (IB)

(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

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

(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

Challenge #3

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

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

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

Merging the data from development brunch to master brunch *

(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

Creating the Model the "M" on the MVC

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

(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

Very simple model and introduction do lldb

(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

Creating a Struct to add an Author to the Quotes

(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

Challenge #4


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)

Solution for challenge #4 and more

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)

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

(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

A new Class for the new and abstracted Model

(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

Challenge #5

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)

Final Quiz

About GitHub

Questions directly relatated to GitHub

About Swift

Questions directly relatated to Swift

You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.4 out of 5
24 Ratings

Detailed Rating

Stars 5
Stars 4
Stars 3
Stars 2
Stars 1
30-Day Money-Back Guarantee


2 hours on-demand video
Full lifetime access
Access on mobile and TV
Certificate of Completion