我可以在模拟器上访问iPod库吗?

时间:2010-07-01 16:25:24

标签: iphone ios-simulator mpmedialibrary

我正在尝试使用模拟器打开iPod库的一些代码,但应用程序因此错误而崩溃:

  

MPMediaLibrary:无法启动iPod库服务器:找不到应用程序

我是否需要真正的iPhone来测试此代码?

5 个答案:

答案 0 :(得分:22)

我在模拟器上使用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/"

答案 1 :(得分:8)

是的,您需要在设备上测试才能访问媒体库。

答案 2 :(得分:5)

澄清回答JosephH

它甚至适用于Xcode 6 但文件应放在一个文件夹中:

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

其中######## - #### - #### - #### - ############ - 对于不同版本的模拟器会有所不同电话

答案 3 :(得分:1)

我也试图解决这个问题,因为你基本上需要使用这里给出的所有答案而且它有点过时我想我会写一点how to

我会尽量保持最新状态,这样每个想要使用此功能的人都可以毫不费力地使用它

答案 4 :(得分:0)

要添加@JosephH和@Rinat Abidullin的答案,我还发现可以从模拟器中访问音乐文件(至少使用Xcode 7.3中的iOS 8和9模拟器)。为此,我将以下文件夹从我的iPhone复制到Mac上的相应文件夹(除了提到的@JosephH文件):

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

然后可以使用AVAudioSession打开MPMediaItemPropertyAssetURL来播放文件。

更新:还有一个非常好的示例项目可用于轻松测试:GVMusicPlayerController