2016-11-20 2 views
3

при запуске на устройстве iOS10, я получаю следующий результат:Не разрешен, пропуская фильтр приложений предиката

[MC] Чтение из общедоступных эффективных пользовательских настроек.

[SDKPlayback] MPMusicPlayerController] MPMusicPlayerController: Сервер не работает, отложив заезд

[SDKLibrary] Не авторизован, пропуская фильтр приложений сказуемое

приложение воспроизводит музыку из библиотеки пользователя и, следовательно, должны спросить поэтому я обновил info.plist с необходимыми ключевыми строками для NSAppleMusicUsageDescription, но приложение вылетает, как только вызывается предикат. Когда приложение остановлено и экран запуска исчезает, окно разрешения наконец отображается. Если я коснусь разрешения, последующие запуска будут работать нормально.

Мой вопрос: «Ошибка сервера» не имеет ничего общего с окном разрешений, которое не отображается? Если да, то как мне начать?

+0

Вышеупомянутый результат получается при работе на устройстве (iPhone 6s +), а не в симуляторе. – rocketman240

+0

Кроме того, это systemMusicPlayer, а не applicationMusicPlayer. – rocketman240

ответ

8

Итак, способ MPMusicPlayerController работы является:

  1. Вы должны иметь ключ в Info.plist, как вы уже знаете.

  2. В вашем коде необходимо авторизироваться с кодом MPMediaLibrary.authorizationStatus.

  3. Если у вас нет авторизации, запросите разрешение, используя MPMediaLibrary.requestAuthorization. Вы не можете действовать до тех пор, пока не получите авторизацию. Будьте осторожны, потому что звонок асинхронный, а завершение называется на фоне потока.

  4. Теперь вы делаете MPMediaItemCollection и звоните setQueue(with:), а затем play.

+0

Это то, чего мне не хватало. Я оставляю этот комментарий, так как у меня нет репутации, необходимой для отметки ответа. – rocketman240

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