11

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

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

我需要一个真正的 iPhone 来测试这个代码吗?

4

5 回答 5

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/"
于 2013-07-04T12:13:54.157 回答
8

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

于 2010-07-27T16:56:20.367 回答
5

澄清回答约瑟夫

它甚至可以在 Xcode 6 中使用,但文件应该放在一个文件夹中:

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

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

于 2015-04-17T14:49:19.853 回答
1

我也试图弄清楚这一点,因为你基本上需要使用这里给出的所有答案,而且它有点过时了,我想我会写一点如何

我会尽量保持最新,以便每个想要使用此功能的人都可以轻松使用它

于 2016-12-28T17:10:03.550 回答
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

于 2016-06-01T13:21:00.577 回答