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

Not authorized, skipping filter predicate application

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

[MC] 正在读取 public 个有效的用户设置。

[SDKPlayback] MPMusicPlayerController] MPMusicPlayerController:服务器不在 运行,延迟签入

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

该应用程序播放用户音乐库中的音乐,因此必须征得许可,因此我已使用 NSAppleMusicUsageDescription 所需的密钥字符串更新了 info.plist,但一旦调用谓词,该应用程序就会崩溃。当应用程序停止并且启动屏幕消失时,权限 window 终于显示出来。如果我点击允许,后续启动将正常工作。

我的问题是:"server not running" 错误是否与权限 window 未显示有关?如果可以,我该如何开始?

因此,MPMusicPlayerController 的工作方式是:

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

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

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

  4. 现在你制作一个 MPMediaItemCollection 并调用 setQueue(with:) 然后 play.