Ответ 1
Да, вам нужно протестировать устройство для доступа к медиа-библиотеке.
Я пытаюсь использовать какой-либо код для открытия библиотеки iPod с помощью симулятора, но приложение вылетает с этой ошибкой:
MPMediaLibrary: невозможно запустить сервер библиотеки iPod: приложение не найдено
Мне нужен реальный iPhone для тестирования этого кода?
Да, вам нужно протестировать устройство для доступа к медиа-библиотеке.
У меня был некоторый успех, используя 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, я также обнаружил, что можно получить доступ к самим музыкальным файлам из Simulator (по крайней мере, используя симуляторы iOS 8 и 9 из Xcode 7.3). Для этого я скопировал следующие папки с моего iPhone в соответствующую папку на моем Mac (в дополнение к указанным файлам @JosephH):
/var/mobile/Media/iTunes_Control/Music
/var/mobile/Media/Purchases
Затем файлы можно воспроизвести с помощью AVAudioSession
, чтобы открыть MPMediaItemPropertyAssetURL
.
Обновление. Существует также очень хороший примерный проект, который можно легко протестировать: GVMusicPlayerController.