Create a Photo Sharing App for iOS with Parse in 4 Hours

Make a social photo sharing app like instagram. Learn how to integrate Parse, a powerful backend service into your app
4.3 (30 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.
1,604 students enrolled
Instructed by Daniel Xu Development / Mobile Apps
25% off
Take This Course
  • Lectures 38
  • Length 3.5 hours
  • Skill Level Intermediate Level
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
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/2014 English

Course Description

So you want to make an awesome social app such as Instagram, Snap Chat, Path, Airbnb but don't know where to start? This course will teach you how to code a photo sharing app for iOS in only 4 hours.

We will start from a blank project, and then cover the most important topics such as user authentication, database query, Facebook integration for building a scalable social app. By the end of this course, you will be able to create a fully functional app ready to handle millions of users!

If you already know the basics of iOS development (ie. UITableViewController), then you are good to go. Even If you are not familiar with iOS programming yet, you can definitely follow the course as we will show you step-by-step how to put everything together.

Everything in this course will be done completely in Objective-C, something you are already familiar with. We will be making the app with the most up-to-date version of development environment, Xcode 5 and iOS 7.

We divided the course into more than 38 bite-sized video lessons for you to learn at your own pace.

What are the requirements?

  • A mac running at least Mountain Lion OS X 10.8.4
  • Basic knowledge in iOS development, if you know what table view controller is, then you should be fine

What am I going to get from this course?

  • Create a photo sharing app like Instagram from scratch
  • Learn how to integrate Parse and Facebook SDK into iOS
  • Learn how to setup an app on
  • Learn how to setup a Facebook app
  • Manage user authentication
  • Add Facebook Login to your app and access Facebook user profiles
  • Send and receive data with Parse
  • Apply UI design to your app

Who is the target audience?

  • People with basic knowledge of iOS development
  • Beginner iOS developers
  • Anyone who is interested to learn how a seemingly complex social app can be made in a short period of time
  • Anyone who wishes to lean more about mobile backend as a service (MBaaS) providers

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

Daniel introduces the concept of mobile backend as a service (mBaaS) providers and their advantages.


Daniel demos the app we will be building in the course.


In this video, we start the project from scratch.


We initialize the views with storyboard and add some basic controllers.

Section 2: Getting to Know Parse

In this lesson, we will register as a new Parse developer and add our app to Parse.


We download the Parse framework then add the it to our project. We will also add all the required dependencies.


We test the Parse framework by saving few objects into the cloud.

Section 3: Retrieving and Displaying Data from Parse with Table View

We learn how to write a basic query to get objects from Parse cloud. Then we display the result with a table view


We learn to use the table view controller called PFQueryTableViewController from Parse to automatically retrieve and display objects from Parse cloud.

Section 4: User Authentication

We create basic login and sign up controllers and their views. We also connect all the necessary IBActions and IBOutlets.


Learn how to sign up and login new users with Parse

Section 5: Facebook Integration

In this video, we sign up as a new Facebook developer and register our app with Facebook.


We learn how to integrate Facebook Login with Parse login. We will be using a login view controller called PFLoginViewController to achieve this.


In this lesson, we implement the necessary login view controller delegate methods for the login to work


We use facebook API to retrieve user information from Facebook and then save the information to Parse

Section 6: Taking and Uploading Photos

We create a camera view controller and add UIImagePickerViewController for obtaining images from camera or photo library.


We setup photo upload screen in Storyboard where the user can add a title and preview the photo.


We will implement the image picker delegate methods that are responsible for the scenarios when the user has successfully taken a photo and when the user has cancelled taking a photo.


In this lesson, we write the code for wrapping the image data into a PFFile object, a file object provided by Parse, then upload the file to Parse cloud.

Section 7: Displaying Timeline

In this lesson, we will create the views for section header cell and photo cell inside storyboard


There are a lot of datasource and delegate methods waiting to be implemented. A template file is provided here with all the methods we are going to talk about in the next few lessons.


We are going to implement the section header cell for displaying user profile image, username, image title, and follw button.


We are going to implement the photo cell for displaying large photos from Parse.


Due to the complexity of our app, we can no longer rely on PFQueryTableViewController for automatically retrieving data for us. We need to write a custom query to the photos along with their corresponding user profile information.


Due to the way we display our photos in sections rather than rows, the pagination feature is broken. In this lesson, we will fix this issue.

Section 8: Adding Follow and Unfollow Activities

In order for our users to follow each other, we need to add a new Activity class to store the relationship information among users. In this lesson we will look at what key value pairs we need to store inside Activity class.


We will create a custom follow button, a subclass of UIButton, for follow/unfollow other users.


We will implement the follow button delegate method inside home view controller. We will create queries for adding and removing relationships from the Activity class


The follow button must be updated dynamically to reflect the changes when user follow or unfollow another user. We will write a query to get the current state of the database and update the follow buttons accordingly.

Section 9: Displaying Profile Screen

The profile view is very similar to the home view controller we implemented in the previous section. We can reuse the code we wrote for home view controller when building the profile view controller


The biggest addition inside profile view is the user status view. In this lesson, we create several queries for retrieving the user status information from Parse.


The profile screen contains a timeline just like the home screen. However, this timeline will only display the photos from the current user and the people the current user is following. We will write a query to obtain these photos.

Section 10: Applying User Interface Design

We have finished coding all the logic behind the app. In this lesson, we will start to apply the UI design and polish our app. First, we need to import all the icons into our project.


In this lesson, we add fonts, colors and icons to the login screen.


In this lesson, we add fonts, colors and icons to the home screen.


In this lesson, we add fonts, colors and icons to the camera screen.


In this lesson, we add fonts, colors and icons to the profile screen.


In this lesson, we will change the color of the status bar to white and add tab bar icons to the tab bar

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Daniel Xu, Entrepreneur, Software Engineer and Investor

Hi, my name is Daniel Xu. Since I got my first computer in elementary school, technology has become a big part of my life and I am very passionate about learning and sharing my knowledge with others.

I started developing mobile apps 3 years ago. Since then, I've worked on mobile app projects with some of the most prominent startups, media companies and banks in Canada. My portfolio ranges from consumer oriented apps such as augmented reality games and social networking, to enterprise level apps such as online banking and construction safety management. I also hold both bachelor and master degree in computer engineering from University of Toronto.

Hope you enjoy my courses and please feel free to leave any comments or feedback.

Ready to start learning?
Take This Course