测试测试通过 | ✓ |
语言语言 | SwiftSwift |
许可证 | 自定义 |
发布时间最后发布时间 | 2017年2月 |
Swift版Swift版本 | 3.0.1 |
SPM支持SPM | ✗ |
依赖 | |
Alamofire | ~> 4.3 |
SwiftyJSON | >= 0 |
ConnectMusics是一个框架,用于简化iOS上音乐提供商Web API的使用。您可以在以下位置查看一个示例应用程序: https://github.com/shemana/ConnectMusics-sample
对于Spotify,您需要在API中注册您的应用程序。您可以通过以下链接中的步骤获得它: https://developer.spotify.com/web-api/tutorial/。
一旦您拥有了客户端ID和客户端密钥,在viewController中执行:
ConnectMusics.sharedInstance.initProvider(provider: .spotify, clientID: yourClientID, clientSecret: yourClientSecret, redirectURI: yourRedirectURI)
然后,在appDelegate中需要创建一个打开URL的函数
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
(ConnectMusics.sharedInstance.getInstance().getProvider(wantedProvider: .spotify) as! CMSpotifyProviderManager).login(withAuthenticationCode: url.absoluteString)
return true
}
您可以检索当前用户播放列表,您将获得此用户关注的和高亮显示的播放列表。
var providerPlaylists:[CMPlaylist] = []
func viewDidLoad() {
super.viewDidLoad()
let spotify = ConnectMusics.sharedInstance.getInstance().getProvider(wantedProvider: .spotify)
spotify?.getPlaylists(completionHandler: { (error : String?) in
if error == nil {
self.providerPlaylists = ConnectMusics.sharedInstance.getInstance().getPlaylistsByProviderType(providerType: .spotify)!
}
})
}
您将获得播放列表列表。播放列表对象包含以下内容
它类似于播放列表,但您需要您的播放列表ID和用户ID。
var currentPlaylist:CMPlaylist?
var providerTracks : [CMSpotifyTrack] = []
func viewDidLoad() {
super.viewDidLoad()
let spotify = ConnectMusics.sharedInstance.getInstance().getProvider(wantedProvider: .spotify) as! CMSpotifyProviderManager
spotify.getMe { (error:String?) in
spotify.getTracks(playlistToUpdate: self.currentPlaylist!, completionHandler: { (playlistUpdated : CMPlaylist?, error: String?) in
if error == nil {
self.providerTracks = (playlistUpdated?.mediaItem as! CMSpotifyPlaylist).tracks
}
})
}
}
曲目对象包含以下内容
您可以像这样检索播放列表
var providerPlaylists:[CMPlaylist] = []
func viewDidLoad() {
super.viewDidLoad()
let appleMusic = ConnectMusics.sharedInstance.getInstance().getProvider(wantedProvider: .appleMusic)
appleMusic?.getPlaylists(completionHandler: { (error : String?) in
if error == nil {
self.providerPlaylists = ConnectMusics.sharedInstance.getInstance().getPlaylistsByProviderType(providerType: .appleMusic)!
}
})
}
播放列表对象包含以下内容
ConnectMusics由Shemana和Keenaa创建,您可以在这里关注我们的其他项目
ConnectMusics在Apache许可证下发布。有关详细信息,请参阅LICENSE。