我正在尝试将 Apple Music 集成到我的应用程序中,直到今天早上我才设法让它完美运行。
更新到 iOS 9.3.2 后,一切都不一样了:
权限系统的工作方式相同(SKCloudServiceController)来检索用户的AuthorizationStatus和Capability。
但是,MPMusicPlayerController在使用新的 iOS 版本时表现不一样,让我解释一下:
在 iOS 9.3.1 上,如果我在 playerController.setQueueWithStoreIDs(:_) 中设置我的曲目后调用 playerController.play() 方法,我会立即收到MPMusicPlayerControllerNowPlayingItemDidChangeNotification ,其中playerController.indexOfNowPlayingItem等于0并且音乐正在正常播放。
在 iOS 9.3.2 上,如果我在 playerController.setQueueWithStoreIDs(:_) 中设置曲目后调用 playerController.play() 方法,我会立即收到MPMusicPlayerControllerNowPlayingItemDidChangeNotification,其中 playerController.indexOfNowPlayingItem 等于NSNotFound并且音乐未播放。
我在 iPhone 6、6s、6s+ 和 5S 上检查了这种行为。在 iOS 9.3.1 上一切正常,并且该行为在 9.3.2 中极不可能成功(它的工作时间为 1%)。
我还在商店中查找了一些已经提供 Apple Music 集成的应用程序,结果是一样的,这些应用程序在 iOS 9.3.2 上无法正常运行。这就是我向 Apple 提交错误报告的原因。
如果有人能解决这个问题,我很想听听!
!!!更新 !!!:
我刚刚注意到MPMusicPlayerController .setQueueWithStoreIDs(_:) 今天早上刚刚从文档中消失了:O,它自 2016 年 3 月 21 日以来就在那里!
它仍然存在