Я пытаюсь интегрировать 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 года!
Он по-прежнему ЗДЕСЬ