我可以将音乐库添加到 Xcode iOS 模拟器吗?
Posted
技术标签:
【中文标题】我可以将音乐库添加到 Xcode iOS 模拟器吗?【英文标题】:Can I add a music library to the Xcode iOS Simulator? 【发布时间】:2017-05-09 02:38:29 【问题描述】:我正在尝试为 iPhone 和 iPad 创建一个音乐播放器。 我让它在我的 iPhone 和 iPad 上完美运行,因为它们实际上有一个音乐库。但是我想使用 fastlane 和其他一些工具进行测试,所以我还需要能够在我的模拟器中查看/添加音乐库。
我已导航到我的模拟器文件夹。
/Users/maikohermans/Library/Developer/CoreSimulator/Devices/8A14CCDB../Data
但是我不知道在哪里看,我什至应该看这里来添加音乐。
我希望有人可以在这里帮助我了解如何执行此操作。我已经搜索过这个,但似乎已经有一段时间没有人问过这个问题了。所以这意味着要么每个人都放弃了它,要么有可能,我似乎无法弄清楚如何做到这一点。
【问题讨论】:
你的意思是要在模拟器中添加.mp3文件? @BaSha 我的意思是我正在使用 MPMediaLibrary 来获取设备上存在的所有歌曲。我希望它也能在模拟器上运行,这样我就可以做一些 UITests 并自动化一些事情 好吧,这只有在实际设备上才有可能! 这就是问题所在。如果有可能以任何方式让它在模拟器上运行 @BaSha 你提到的最后非常有用 【参考方案1】:虽然通常认为这是无法做到的,但由于@BaSha 提到的链接,我想出了如何做到这一点。
我在上面写了一点How To,这样每个面临同样问题或认为不可能的人都能得到它的工作。
要给出它的要点,你需要一些东西。
-
实际上有音乐的 ios 设备
iFunBox 或类似的东西
你要使用的模拟器的id
要获取您要测试的设备的 ID,您可以运行
xcrun simctl list
这将为您提供所有可用模拟器的列表,选择您要使用的模拟器并复制 id,您将需要这个。
现在导航到您刚刚选择的模拟器的目录。
[yourHD] -> Users -> [yourusername] -> Library -> Developer -> CoreSimulator -> Devices -> [上一步获取的ID] -> data -> Media -> iTunes_Control -> iTunes
现在你必须打开iFunBox
(将你的手机和音乐库连接到你的电脑)。在 iFunBox 中,选择Raw File System
。在这个目录中你会找到一个名为iTunes_Control
的目录,你需要将一些文件和目录复制到你之前打开的模拟器目录中。即:
Music
iTunes/Artwork
iTunes/MediaLibrary.sqlitedb
iTunes/MediaLibrary.sqlitedb-shm
iTunes/MediaLibrary.sqlitedb-wal
如果您曾经购买过音乐,您还应该获取以下目录Raw File System/Purchases
【讨论】:
以上操作方法非常有用!它运行良好,现在我可以访问音乐库进行测试。不幸的是,它不允许来自 iTunes 的同步/取消同步过程,但仍然非常有用。 谢谢,谢谢,非常感谢!哇靠!这改变了我的整个开发经验。 当我启动 iFunbox ESET 时会抛出此警告:HTTP filter file http://ww1.ifunboxmac.com JS/Redirector.NDR *** connection terminated
网址看起来很阴暗,因为我从 i-funbox.com 下载了该应用程序
我按照教程做了所有的事情,但是,它仍然没有在模拟器上显示任何歌曲
出色的工作。只是为了更新这个,iFunBox 似乎有一段时间没有更新了,所以我没有使用那个工具,而是使用 SynciosManager 从我的设备中获取数据。【参考方案2】:
所以我还需要能够在我的模拟器中查看/添加音乐库
你不能这样做。 MPMediaLibrary API 不适用于模拟器。
您可以通过编写位于您的代码和 MPMediaLibrary API 之间的存根方法在模拟器上测试您的界面,但实际只能访问用户的音乐库在设备上。
【讨论】:
以上是关于我可以将音乐库添加到 Xcode iOS 模拟器吗?的主要内容,如果未能解决你的问题,请参考以下文章
iOS 7 模拟器可以与 Xcode 4.6.3 一起使用吗?
如何将 iPhone 添加到 Android Studio?