Xamarin.iOS: MPMusicPlayerController.NowPlayingItem 属性 消失

Xamarin.iOS: MPMusicPlayerController.NowPlayingItem property disappears

我正在尝试编写一个基于 Xamarin.Forms 的应用程序来播放音乐。我正在使用标准的 Xamarin Forms 依赖服务模式为 iOS 创建一个平台特定的播放器,它使用 MPMusicPlayerController as documented by Xamarin。当我编写代码时,MPMusicPlayerController.NowPlayItem 属性 是可访问的;

当我第一次测试它时一切正常。然后我开始尝试收听来自 MPMusicPlayerController 的通知,它 'disappeared';当我调试时,属性 丢失,当我尝试访问它时,我得到一个深度单声道 SIGSEGV 异常;

调试器经常会尝试引用 属性 并且也会崩溃。所以;我删除了通知,它仍然发生!

我重新创建了 Xcode 和 Objective C 中导致问题的代码部分。虽然在 运行 之后查看 Xcode 中的设备日志并且从 Xamarin 崩溃也会显示问题。

更新版本的 iOS expect an Info.plist entry; Privacy - Apple Music Usage Description 将为访问媒体库的任何内容提供。有趣的是,似乎允许播放,感觉 NowPlayingItem 属性 不应该被允许,但不知何故,有时是。

最后,我发现我必须将 plist 条目放入其中,还必须检查并有时要求授权,如

一旦我完成了这两项操作,NowPlayingItem 属性 就会工作,我会收到通知。