我认为MusicKit仅适用于测试版iOS版本。我很确定,但是,在没有使用MusicKit的之前,我已经看到了一种方法。这可能吗?我一直在寻找一段时间,而且我只找到了关于MusicKit的东西。
我知道在macOS上可以使用 - 我可以使用相同的API吗?
编辑:我需要做的只是获取用户歌曲/专辑的列表。我不需要任何功能来播放歌曲。
答案 0 :(得分:5)
自iOS 3.0起,并且不推荐使用它,您可以使用MPMediaQuery
类来访问用户库。这使您可以获取相册,艺术家,有声读物,播放列表,歌曲等对象。
let myPlaylistQuery = MPMediaQuery.playlists()
let playlists = myPlaylistQuery.collections
for playlist in playlists! {
print(playlist.value(forProperty: MPMediaPlaylistPropertyName)!)
let songs = playlist.items
for song in songs {
let songTitle = song.value(forProperty: MPMediaItemPropertyTitle)
print("\t\t", songTitle!)
}
}
请记住,自iOS 10起,您必须要求用户访问音乐库。您需要将Privacy - Media Library Usage Description
添加到Info.plist
文件。如果没有这个,应用程序将在请求授权时崩溃。
要请求访问权限,请使用MPMediaLibrary
类及其requestAuthorization方法
答案 1 :(得分:2)
您可以使用MPMediaLibrary这样的
获取歌曲列表{{1}}