During this tutorial you will build a photo sharing app that is similar to the popular app Instagram. After finishing the Make School Notes tutorial you should have a good understanding of the basics of iOS development.

In this tutorial we will touch many advanced iOS development topics including how to use Firebase to build a backend for your app.

Here are the most important things you will learn:

  • How to implement an email signup and login flow using Firebase Auth
  • How to structure and store data using Firebase Realtime Database
  • How to capture photos and upload them with Firebase Storage
  • How to query and retrieve data from Firebase
  • How to architect a complex iOS app
  • How to use libraries built by other developers to speed up development

Before starting the tutorial, we'll take some time upfront and install CocoaPods.

Installing CocoaPods

CocoaPods is a dependency manager that allows you to easily install and manage third-party code.

We'll want to go ahead and start the installation process for CocoaPods because the first time running pod install may take a long time.

Open terminal and type:

sudo gem install cocoapods

Next run the following command:

pod setup --verbose

This step will take 10-15 minutes to complete the first time you run it. This is because it will clone the entire cocoapods master repo (~1GB) to ~/.cocoapods/repos.

During the process of running pod setup, you can continue on as you wait for it to complete.

We'll dive more in-depth about dependency management and what CocoaPods does when we setup our Xcode project.


After finishing the tutorial you will have a good understanding of building complex iOS apps that tie into a backend - from there you will be able to move on and create your original iPhone app!

Let's get started by taking a look at how Firebase works and creating a new Firebase project.


If you have feedback on this tutorial or find any mistakes, please open issues on the GitHub Repository or comment below.

Summer academy

An iOS Development Summer Course

Design, code and launch your own app. Locations in San Francisco and Asia

Find your location

Product College

A computer science college

Graduate into a successful career as a founder or software engineer.

Learn more

Cookies on Make School's website

We have placed cookies on your device to ensure that we give you the best experience on our website.

This site uses cookies to deliver our services. By using our site, you acknowledge that you have read and understand our Cookie Policy, Privacy Policy, and our Terms of Service. Your use of Make School’s Products and Services is subject to these policies and terms.

Please note that Make School no longer supports Internet Explorer

We recommend upgrading to a modern web browser. Learn more