2016-11-03 2 views
0

Я пытаюсь написать приложение Xamarin.Forms для воспроизведения музыки. Я использую стандартный шаблон службы зависимостей Xamarin Forms для создания определенного для платформы игрока для iOS, который использует MPMusicPlayerController, как задокументировано Xamarin. Когда я пишу код, доступно свойство MPMusicPlayerController.NowPlayItem;Xamarin.iOS: MPMusicPlayerController.NowPlayingItem свойство исчезает

NowPlayingItem is accessible

и когда я впервые проверил это все работало нормально. Затем я начал пытаться прослушивать уведомления из MPMusicPlayerController, и он «исчез»; когда я отлаживаю, свойство отсутствует, и когда я пытаюсь получить к нему доступ, я получаю исключение из монолога SIGSEGV.

Property has disappeared

Довольно часто отладчик пытается ссылаться на собственность, а также аварий. Так; Я достал уведомления, и это все еще происходит!

+0

Кстати, его не только null; это было бы хорошо; он полностью исчезает вместе с другими свойствами, в то время как некоторые из них все еще доступны! –

ответ

1

Я воссоздал часть кода, вызывающую проблему в Xcode и Objective C. Хотя просмотр журнала устройств в Xcode после запуска и сбоя с Xamarin также показал бы проблему.

Более свежие версии iOS expect an Info.plist entry; Privacy - Apple Music Usage Description для обеспечения доступа к медиатеке. Интересно, что кажется, что воспроизведение разрешено, и похоже, что свойство NowPlayingItem не должно быть разрешено, но как-то иногда.

В конце концов, я обнаружил, что мне нужно было ввести plist, а также проверить и иногда запрашивать авторизацию, как в this post.

Как только я это сделал, свойство NowPlayingItem работает, и я получаю уведомления.

Смежные вопросы