未经授权,跳过过滤谓词应用

时间:2016-11-20 21:03:09

标签: ios swift3 plist ios10 mpmusicplayercontroller

在iOS10设备上启动后,我得到以下输出:

[MC]从公共有效用户设置中读取。

[SDKPlayback] MPMusicPlayerController] MPMusicPlayerController:服务器未运行,延迟办理登机手续

[SDKLibrary]未授权,跳过过滤谓词应用程序

应用程序播放来自用户库的音乐,因此必须请求权限,因此我更新了带有NSAppleMusicUsageDescription所需键字符串的info.plist,但是一旦调用谓词,应用程序就会崩溃。当应用程序停止并且启动屏幕消失时,最终会显示权限窗口。如果我点击允许,后续启动将正常工作。

我的问题是:"服务器没有运行"错误与权限窗口没有显示有什么关系?如果是这样,我该如何开始呢?

1 个答案:

答案 0 :(得分:10)

因此,MPMusicPlayerController的工作方式是:

  1. 您必须拥有 Info.plist 中的密钥,如您所知。

  2. 在您的代码中,使用MPMediaLibrary.authorizationStatus检查授权。

  3. 如果您没有授权,则使用MPMediaLibrary.requestAuthorization请求授权。在获得授权之前,您无法继续。请注意,因为调用是异步,并且后台线程上的完成称为

  4. 现在您创建一个MPMediaItemCollection并调用setQueue(with:)然后调用play