Skip to content

phucnd0604/Swift-Radio-Pro

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 

Repository files navigation

#Swift Radio

Swift Radio is an open source radio station app with robust and professional features. This is a fully realized Radio App built entirely in Swift 2.

alt text

##Video View this GETTING STARTED VIDEO. It's short & sweet to give you a quick overview.
Give it a quick watch.

##Features

  • LastFM API Integration to automatically download Album Art
  • Loads and parses metadata (Track & Artist information)
  • Current Artist & Track displayed on Stations page
  • Displays Artist, Track, & Album Art on Lock Screen
  • Ability to update playlist from server or locally. (Update stations anytime without resubmitting to app store!)
  • Custom views optimized for iPhone 4s, 5, 6 and 6+ for backwards compatibility
  • Compiles with Xcode 7 & Swift 2.0
  • Background audio performance
  • Supports local or hosted station images
  • "About" page with ability to send email & visit website
  • Uses industry standard SwiftyJSON library for easy JSON manipulation
  • Pull to Refresh Stations

##Important Notes

  • Volume slider does not work in Simulator, only in device. This appears to be an Xcode issue.
  • Radio stations in demo are for demonstration purposes only.
  • For a production product, you may want to swap out the MPMoviePlayerController for a more robust streaming library/SDK (with stream stitching, interruption handling, etc).
  • Uses Meng To's Spring library for animation, making it easy experiment with different UI/UX animations
  • SwiftyJSON & Spring are included in the repo to get you up & running quickly. It's on the roadmap to utilize CocoaPods in the future.

##Credits Created by Matthew Fecher, Twitter: @goFecher
Thanks to Basel Farag, from Denver Swift Heads for the code review.

##Requirements

  • iOS 8.0+ / Mac OS X 10.9+
  • Xcode 7

##Setup

The "SwiftRadio-Settings.swift" file contains some project settings to get you started. Please enter your own LastFM Key.
Watch this Getting Started Video to get up & running quickly.

##Integration

Includes full Xcode Project to jumpstart development.

##Stations

Includes an example "stations.json" file. You may upload the JSON file to a server, so that you can update the stations in the app without resubmitting to the app store. The following fields are supported in the app:

  • name: The name of the station as you want it displayed (e.g. "Sub Pop Radio")

  • streamURL: The url of the actual stream

  • imageURL: Station image url. Station images in demo are 350x206. Image can be local or hosted. Leave out the "http" to use a local image (You can use either: "station-subpop" or "http://myurl.com/images/station-subpop.jpg")

  • desc: Short 2 or 3 world description of the station as you want it displayed (e.g. "Outlaw Country")

  • longDesc: Long description of the station to be used on the "info screen". This is optional.

##Streaming Libraries

  • You can use this Swift code as a front-end for a more robust streaming backend.
  • In addition to the MPMoviePlayer, I've briefly tested it with the following two streaming libraries (and it works rather nicely): Radio & RadioKit
  • If you test it with a library, let me know!

About

Professional Radio Station App, created w/ Swift 2.0

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 99.6%
  • Objective-C 0.4%