iOS 9 App Development: Create a Spotify Clone

Stream your music collection and learn how to play and control music on iOS. An epic course to make your own Spotify
4.2 (38 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.
970 students enrolled
25% off
Take This Course
  • Lectures 48
  • Length 4 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 2/2016 English

Course Description

Music is one of the biggest app categories across all app stores. They have the potential to earn substantial revenue.

Learn the basic concepts, tools, and functions that you will need to build fully functional iOS music streaming apps with the popular programming language, Swift 2. Also learn how to set up your own server and upload music that your app will eventually play.

Things You'll Learn

  • Xcode Installation and Setup
  • Basic Streaming Functions on iOS
  • How to Setup a Server (free or paid)
  • How to Automate Music File indexing on a Server Using PHP (no PHP experience necessary)
  • How to Make an iOS App Communicate with a Server
  • How to Add Lock Screen Controls
  • How to Add Lock Screen Media Information
  • How to Handle Audio Interruptions like Phone Calls
  • How to Create Table Views and Custom table View Cells on iOS
  • Dynamically Adding More Data to Your App and Remote Database
  • Sharing Song Information on Facebook
  • Liking a Track Through our Remote Database

Powerful Skills at Your Fingertips
By learning to create both iOS apps as well as PHP and MYSQL backends you will become incredibly valuable to potential employers. Combining these 2 skills is the number one reason developers get hired for startups. Those startups need this information and are willing to pay for it!


Not only do you learn the ins and outs of streaming music in iOS apps but this course includes a MASSIVE bonus. I teach you how to create and setup a fully functional server that does the following:

  • Automatically scan for new music uploads and add them to a MYSQL database (with no input required from you)
  • Produce PHP files that allow your app to access a backend


Content and Overview
No knowledge is needed of programming for this course but it helps. If you are a complete beginner then please take my other course (iOS Apps for Complete and Utter Beginners) FIRST.

You will be taken on a journey through:

  • How to choose between free or paid servers
  • How to code a simple streaming function on iOS
  • How to add advanced audio features to your app
  • How to make your app talk to a server (aka - creating a backend)
  • How to report app usage statistics to your remote database

This course establishes a strong understanding of music app creation concepts and includes training on Xcode and Swift 2. It also includes training on MYSQL, PHP and cPanel. Each chapter starts with an introduction and sounds out with a summary to help you learn even better.

With these skills mastered, the course will take you through how to create a backend for your app (as well as the front end!). Complete this course and you'll discover you now have skills that are continuously in demand from most businesses.

Increase your value by joining now!

Credit: Promo music provided by Ben Sound

What are the requirements?

  • A mac running OSX or an OSX Virtual Machine
  • An internet connection

What am I going to get from this course?

  • Create a fully featured music streaming app on iOS
  • Create a fully functioning server to store music
  • Connect server to app using PHP scripts

Who is the target audience?

  • Beginner/Intermediate programmers should take this course
  • ABSOLUTE beginners who know nothing about programming SHOULD NOT take this course (take my other one instead!)
  • People that want to make profitable streaming apps should take this course

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 and Environment Setup
Setup Xcode and iOS Simulators on a Mac
Section 2: Server Setup and Testing
Introduction to Server Setup

Free servers are everywhere but they are overcrowded. It's always better to opt for a paid server over which you have much more control. The good news is you can get for less than $5 per month (includes a domain). If you intend to develop apps in the future then having your own test server is a really good idea!

The next sections are labelled one or two. Choose the most appropriate one for your use case.

Option 1: Setting up a Free Server
Option 2: Setting up a Paid Server (Much More Control)
How to Upload Your Files to a Server
Create Your Server Database Using cPanel
Create a PHP Script to Add Uploaded Music to the Database - Part 1
Create a PHP Script to Add Uploaded Music to the Database - Part 2
How to Automate a PHP Script Using Cron
Summary of Server Setup and Testing
Section 3: A Really Simple iOS Music Streaming Function
Introduction to Simple Streaming

We also disable app transport security to allow loading of our music

How to Disable App Transport Security on iOS

Inside of ViewController.swift you will create the simplest music streaming function known to man!

Tidying up our Swift Streaming Player by Moving to its Own Class
Summary of Really Simple iOS Music Streaming Function
Section 4: Adding Some Sugar to our Simple Streaming Function
Introduction to Advanced Audio Features on iOS
Adding a Play Pause Button to a Storyboard for Media Control
Connecting a Play Pause Button to Streaming Music Controls
How to Implement Lock Screen Controls on iOS
How to Handle Audio Interruptions on iOS
How to Add Lock Screen Media Information on iOS
Summary of Adding Sugar to Simple Streaming Function
Section 5: Getting a List of Music from the Remote Database
Introduction to Getting a List of Music From the Database
How to Create a PHP Interface to the MYSQL Database
How to Fetch Remote Database Information into an iOS App
Creating our Song Class to Store Retrieved Items
How to Parse Retrieved Data into a List of Songs
Summary of Getting a List of Music fom the Remote Database
Section 6: Placing Retrieved Song Lists into a Table View
Introduction to Placing Retrieved Song Lists into a Table View
How to Create a Table View and Custom Table View Cell on iOS
How to Populate a Table View with Data
Firing up Our Music Player Whenever a Song is Selected
Homework: Tidy up the Song Name to Remove the MP3 Ending
Summary of Placing Retrieved Song Lists into a Table View
Section 7: Taking the App to the Next Level - More Data
Introduction to Taking the App to the Next Level - More Data
Adding in Artist Information to our Database and App
Reporting Number of Plays to our Database - Necessary for a Streaming License
Summary of Taking the App to the Next Level - More Data
Section 8: Taking the App to the Next Level - Liking and Sharing
Introduction to Taking the App to the Next Level - Liking and Sharing
Adding a Like Button for the Current Playing Song
Adding a ‘Share on Facebook’ Button - Social Media Rocks!
Summary of taking the App to the Next Level - Liking and Sharing
Section 9: Summary and Roundup
Summary of Everything You’ve Learnt so Far
Where to go Next (How to Make Money From this Sort of App)
Thankyou and a Special Gift Just For You

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Mr Grant Klimaytys, Professional App Developer and Teacher

Swift 3 on iOS, a little Java here and there and C# for Xamarin. I'll show you how to use them all!

When you learn from me you learn in an holistic manner. You learn concepts that are applicable to ALL mobile systems.

My aim is to get you qualified mighty fast, with very little hair tearing from frustration!

And what does that mean for you?

You'll be able to make your own apps to earn passive income. Or you could become a freelance developer which I can honestly say it is the best life in the world. You will have no boss and earn an hourly rate of over $100. You can also take holiday whenever you want!

Of course you have to learn how to make good apps first so take my courses now and you will see how easy mobile app development can be!

Ready to start learning?
Take This Course