A social media based around finding people that like the same songs you enjoy.
-
The UI was mostly built programmaticly.
-
Integrates Spotify and Soundcloud API. Implements Spotify OAuth login.
-
Phone Number Based Signin
-
Usage of reactive programming to emulate React
// Swaybeat/SongSearchPage.swiftt
searchController.searchBar.rx_text
.filter({text in
if !text.isEmpty {
return true
} else {
return false
}
})
.debounce(0.75, scheduler: MainScheduler.instance)
.subscribeNext {text in
print("searching: \(text)")
SPTSearch.performSearchWithQuery(...)
- Custom URL audio player library.
// Swaybeat/GlobalPlayer/URLPLayer.swift
class URLPlayer: NSObject {
private let player = AVPlayer()
var isPlaying = false
private(set) var didEnd = false
private(set) var currentURL: NSURL?
override init() {
super.init()
NSNotificationCenter.defaultCenter().addObserver(self, selector: "URLPlayerDidEnd:", name: AVPlayerItemDidPlayToEndTimeNotification, object: self)
player.addObserver(self, forKeyPath: "rate", options: NSKeyValueObservingOptions([.New, .Initial]),context: nil)
}
func play(url: NSURL) {
-
Crashlytics
-
Alamofire