MPMediaLibrary.DidChangeNotification无效

时间:2014-11-08 07:45:40

标签: ios xamarin.ios

这个问题与Xamarin.iOS有关。 多年来我一直在努力让MPMediaLibrary.Notifications.ObserveDidChange工作没有成功。我几乎尝试了一切。使用Objective-C绑定怀疑某些不好的东西,我也尝试使用Messaging API直接调用objc。最后,我构建了一个Native Library,并确保通过纯Objective-c app测试它。使用Objective-C的原生工作没有问题。但是,与Xamarin.iOS一起使用时,相同的库不能获得MPMediaLibraryDidChangeNotification。我在Native库中创建了内置选择器等,这样我就可以调用一个' C'函数没有参数,它适用于objective-c app。但是,当与Xamarin一起使用时,同样不起作用。我负责调用beginGeneratingLibraryChangeNotifications()。

有些人可能会因为使用不当而怀疑我的选择器/ delgate未被调用。但是,除了这个之外,每个其他通知都可以调用我的选择器。因此,我认为语法不是问题。

经过所有努力,我认为Xamarin设置中存在错误,这使我无法获得MPMediaLibraryDidChangeNotification。我真的不知道究竟是什么。所以我的问题是 - 你们可以收到这个通知吗?

我的测试手机 - iPhone6-8.0.2,Xamarin Studio版本5.5.3(版本6)安装UUID:d84b8c6d-f992-4f19-8a35-c14bcd08420e运行时间:Mono 3.10.0((分离/ e204655)GTK + 2.24。 23(Raleigh主题)软件包版本:310000023 Apple Developer Tools Xcode 6.1(6604)Build 6A1052d Xamarin.iOS版本:8.4.0.16(独立版)Hash:80e9ff7分支:建立日期:2014-10-22 15:09:12- 0400

谢谢,Vinay

1 个答案:

答案 0 :(得分:0)

对于Record,我发布了答案。

自64位转换以来,32位应用程序的MediaLibrary更改通知已停止。如果您为64位iOS构建应用程序,一切都很好。但是,具有32位应用程序的64位设备将不会收到这些通知。我已经在iPhone6上彻底测试了它。所以我认为这是iOS错误,Apple需要纠正。 App Store上的所有音乐播放器应用程序都不能再更新库,因为它们是32位。

对于Xamarin用户,请使用Unified API获得适当的通知支持。