iOS 9.3.2 ломает MPMusicPlayerController

Я пытаюсь интегрировать Apple Music в свое приложение, мне удалось заставить его работать безупречно до сегодняшнего утра.

После обновления до iOS 9.3.2 ничего не изменилось:

Система разрешений работает так же (SKCloudServiceController) для получения AuthorizationStatus и Возможность Пользователь.

Однако MPMusicPlayerController ведет себя иначе при использовании нового Версия iOS, позвольте мне объяснить:

  • В iOS 9.3.1, если я вызываю метод playerController.play() после установки своих треков в playerController.setQueueWithStoreIDs(:_), я немедленно получаю MPMusicPlayerControllerNowPlayingItemDidChangeNotification с параметром playerController.indexOfNowPlayingItem, равным 0, и музыкой воспроизводится нормально.

  • В iOS 9.3.2, если я вызываю метод playerController.play() после установки своих треков в playerController.setQueueWithStoreIDs(:_), я немедленно получаю MPMusicPlayerControllerNowPlayingItemDidChangeNotification с параметром playerController.indexOfNowPlayingItem, равным NSNotFound, и атрибутом music. не воспроизводится.

Я проверил это поведение на iPhone 6, 6s, 6s+ и 5S. На iOS 9.3.1 все работает и поведение крайне маловероятно, как в 9.3.2 (работает примерно в 1% случаев).

Я также искал какое-то приложение, уже предлагающее интеграцию с Apple Music в Магазине, результат тот же, приложения не работают должным образом на iOS 9.3.2. Вот почему я заполнил отчет об ошибке в Apple.

Если у кого есть решение этой проблемы, буду рад услышать!

<сильный>!!! Обновлять !!! :

Я только что заметил, что MPMusicPlayerController.setQueueWithStoreIDs(_:) просто исчез из документации сегодня утром :O, он был там с 21 марта 2016 года!

Он по-прежнему ЗДЕСЬ


person iMart1n    schedule 17.05.2016    source источник
comment
Весь этот класс полностью облажался. У меня тоже не работает блокировка экрана. У вас есть?   -  person evenodd    schedule 17.05.2016
comment
@evenodd Я могу взломать свой путь с помощью systemMusicPlayer, но вам абсолютно не повезло с applicationMusicPlayer, будь то в remoteControlReceivedWithEvent в AppDelegate или при попытке зарегистрировать их в MPRemoteCommandCenter...   -  person iMart1n    schedule 17.05.2016
comment
Я знаю, я тоже пробовал хакерский способ с системным музыкальным проигрывателем. Когда песня заканчивается, я просто играю следующую. Но предыдущая кнопка делает то же самое! Это очень плохо.   -  person evenodd    schedule 17.05.2016