Code

Radioo | iOS Universal Multi-Radio Stations App Template (Swift)

Radioo | iOS Universal Multi-Radio Stations App Template (Swift)






Both iOS and Android version share the same Parse database on back4app







25 May 2018
• Accordingly to the new EU GDPR terms, I've updated the 'tou.html' file and Documentation.
IMPORTANT: This means that if a User asks for his/her Account deletion, you must do it within 24 hours, as the GDPR's "Right to be forgotten" Article states (LINK: https://gdpr-info.eu/art-17-gdpr/)
18 April 2018
*** MAJOR UPDATE ***
• Replaced AdMob banners code with Interstitial ads in Home.swift, Stations.swift and Favorites.swift
• Completely reskinned the app with a new fresh and modern design
• Removed the NavigationBar from the NavigationController in Storyboard | added UIViews as top bars in the other Controllers, along with new custom Buttons and Labels
• Added a new Font folder with Quicksand fonts | changed the default fonts with that one in the Storyboard
• Created a "Stations" new class in the Parse Dashboard, so now you don't need to create any class for the music genres, all radio stations must be stored into the Stations class
• Edited Home.swift, Stations.swift and Favorites.swift files (compare your old swift files with the updated ones and perform the code changes)
• Added these lines in Configs.swift:
   let STATIONS_CLASS_NAME = "Stations" 
   let STATIONS_GENRE = "genre" 
   let STATIONS_FAVORITED_BY = "favoritedBy" 
    let FAVORITES_STATION_POINTER = "stationPointer" 

*** IMPORTANT: IF THIS IS AN UPDATE FOR YOU, then you should uncomment 'generateClassesAndColumns()' from viewDidLoad in Home.swift, run the app once and let it create a demo radio station and the "Stations" new class in your Parse Dashboard
After that, you need to create all your new rows for radio stations in the "Stations" class, you can copy URL and Name of your old radio stations from their classes, and the genre name of the cells of the 'genre' column must match the genre names you've inserted in the "Genres_" class. 
Once you're done, you can remove all music genre classes you've previously created (like Rock, Ambient, Jazz, etc.)
One more thing, you need to add a radio station to Favorites, then check the "Favorites" class in your Parse Dashboard, it'll have a new column called "stationPointer". This value is just the objectId of the favorited station from the "Stations" class, so if you have other rows in the "Favorites" class, they'll have the cells of the 'stationPointer' column empty [undefined]. You have to copy the objectId's of those radio stations and paste them in their relative cells, so the Favorites system will work smoothly.
3 April 2018
• Updated to recommended settings with Xcode 9.3
• Updated the 3 Facebook SDKs (because of Swift 4.1 release):
FBSDKCoreKit.framework
FBSDKLoginKit.framework
FBSDKShareKit.framework


Radioo is a Universal App template which stores free online radio stations into a flexible Parse Dashboard database hosted on https://back4app.com all .m3u file links from SHOUTcast.com. You have to download the M3U files and extract the streaming URL from them, then simply paste them into your own Parse Dashboard to create playlists.
Please note that since this app plays music with AVPlayer, you can also play .pls or .mp3 files, the important thing is that the string of your link ends with .pls or .mp3.
You can play radio stations anywhere with a 3G or WiFi connection, add radios to favorites (login/signup required) and select your radio channels by Genre, and share the radio you’re listening to the world.

Since its backend is by Parse you don’t have to buy any domain/hosting, there are NO PHP files to upload to a web server so you’ll save some money for server side.

You may also use the Adminca.com, a free CMS panel for Parse SDK as a great alternative to insert/edit data in your Parse Dashboard, after you’ll create your app on back4app, create a free account on http://adminca.com and create a new Panel, choose Self-hosted Parse Server and paste your Host link, Application ID and Master Key in the relative fields (you can find them in Core Settings of your back4app dashboard)



Radioo is very easy to customize, Storyboard, Universal, native XCode project, Swift language, Parse SDK backend.




About Parse SDK and back4app

Read this article for more info about back4app and Parse SDK: https://hubpages.com/technology/Parse-SDK-will-not-shutdown-in-thanks-to-back4app

Can I host Parse Server on my own server?

Yes, although I don’t provide support for the setup process, you can read the official Guide here: http://parseplatform.org

I get a Code signing error in Xcode 8.x

That’s a bug of Xcode 8 with macOS Sierra, check this sample video to see how to fix it: https://youtu.be/z2LemT1_LqA

How to remove AdMob Interstitial ads

Use the Find tool on Xcode to find this line of code:
self.showInterstitial()
and just comment all those lines that the Find tool has found

What about free support for this template?

I can offer free support for bugs encountered in the original code. Instead, if you’ve edited the code and messed something up with it, I may apply some fee to fix it either via TeamViewer or by checking your app project files directly on my computer.

Should I use the latest version of Xcode to edit this template?

Yes, I always update my apps to the latest version of the IDE.





  • XCode 9.x project – Swift – 64bit
  • Universal – iOS 8.0+ – Storyboard
  • AdMob Interstitial ads
  • Works with Parse Server hosted on back4app
  • Easily insert/edit your radio stations and genres in your Parse Dashboard
  • PDF User Guide included
  • PSD icons graphic included
  • Easy to customize, well commented code


  • Apple Mac with its latest OS version installed
  • The latest version of Xcode and some knowledge about its UI interface
  • Photoshop or any other image editor software
  • An actiove Apple iOS Developer account to submit apps to the App Store
  • An AdMob account to generate your own UNIT ID
  • A free account on back4app.com







by
by
by
by
by
by