Могу ли я получить доступ к библиотеке iPod на симуляторе?

Я пытаюсь создать код для открытия библиотеки iPod с помощью симулятора, но приложение вылетает с этой ошибкой:

MPMediaLibrary: невозможно запустить библиотечный сервер iPod: приложение не найдено

Нужен ли мне настоящий iPhone для проверки этого кода?

5 ответов

Решение

Да, вам нужно протестировать на устройстве, чтобы получить доступ к библиотеке мультимедиа.

Я имел некоторый успех, используя MPMediaLibrary / MPMediaQuery на симуляторе (не воспроизводит музыку, но, по крайней мере, может запрашивать предметы) и xcode 4.6.3

Я использовал iFunBox для копирования этих файлов с моего устройства:

'Raw File System'/iTunes_Control/iTunes/MediaLibrary.sqlitedb
'Raw File System'/iTunes_Control/iTunes/MediaLibrary.sqlitedb-shm
'Raw File System'/iTunes_Control/iTunes/MediaLibrary.sqlitedb-wal
'Raw File System'/iTunes_Control/iTunes/Artwork

на мой Mac в папке:

"~/Library/Application Support/iPhone Simulator/6.1/Media/iTunes_Control/iTunes/"

Разъяснение, чтобы ответить JosephH:

это даже работает в Xcode 6, но файлы должны быть помещены в папку:

"~/Library/Developer/CoreSimulator/Devices/########-####-####-####-############/data/Media/iTunes_Control/iTunes"

где ########-####-####-####-############ - будут разными для разных версий симулятора телефона

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

Я постараюсь держать это в курсе, чтобы каждый, кто хочет использовать эту способность, мог использовать ее без особых проблем

Чтобы добавить к ответам @JosephH и @Rinat Abidullin, я также обнаружил, что можно получить доступ к самим музыкальным файлам из симулятора (по крайней мере, с помощью симуляторов iOS 8 и 9 из Xcode 7.3). Чтобы это работало, я скопировал следующие папки с моего iPhone в соответствующую папку на моем Mac (в дополнение к упомянутым файлам @JosephH):

  • /var/mobile/Media/iTunes_Control/Music
  • /var/mobile/Media/Purchases

Файлы могут быть воспроизведены с помощью AVAudioSession открыть MPMediaItemPropertyAssetURL,

Обновление: есть также очень хороший пример проекта, который можно использовать для простого тестирования: https://github.com/gangverk/GVMusicPlayerController.

Другие вопросы по тегам