如何在不使用MusicKit的情况下访问用户的音乐库?

Zac*_*Zac 2 xcode ios swift apple-music

在我看来,MusicKit仅适用于测试版iOS版本.我很确定,但是,在没有使用MusicKit的情况下,我已经看到了一种方法.这可能吗?我一直在寻找一段时间,我只找到了关于MusicKit的东西.

我知道在macOS上可以使用 - 我可以使用相同的API吗?

编辑:我需要做的只是获取用户的歌曲/专辑列表.我不需要任何功能来播放歌曲.

lvp*_*lvp 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!)
    }
}
Run Code Online (Sandbox Code Playgroud)

资源

请记住,自iOS 10起,您必须要求用户访问音乐库.您需要添加Privacy - Media Library Usage DescriptionInfo.plist文件.如果没有这个,app会在请求授权时崩溃.

对于请求访问,请使用MPMediaLibraryclass及其requestAuthorization方法