Могу ли я получить доступ к библиотеке 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.