我试图使用UIImagePickerController与UIImagePickerControllerSourceTypePhotoLibrary,但它说,“没有照片”。模拟器从哪里获得图像?我应该在哪里复制图像,以便它们在模拟器中显示?


当前回答

我只是偶然发现了如何在iOS模拟器上批量上传图像。(我只在6.1上确认过。)

备份文件夹: ~/库/应用程序支持/iPhone模拟器/6.1/媒体 复制所有图片到文件夹: ~/库/应用程序支持/iPhone模拟器/6.1/媒体/DCIM/100APPLE 移动或删除文件夹: ~/库/应用程序支持/iPhone模拟器/6.1/媒体/PhotoData 重启iOS模拟器 打开照片应用程序

模拟器将恢复100APPLE文件夹中的所有图像!

其他回答

确保设备处于运行状态。 在终端执行以下命令:

open ~/Library/Developer/CoreSimulator/Devices/$(xcrun simctl list | grep Booted | grep - eo '[a-zA-Z0-9]*-[a-zA-Z0-9]*-[a-zA-Z0-9]*-[a-zA-Z0-9]*-[a-zA-Z0-9]*')/data/Media/DCIM

进一步的regex ref @ https://regex101.com/r/tY951n/3

从Xcode 6开始,你可以使用命令行工具xcrun simctl。

用法非常简单;要将照片添加到当前运行的模拟器中,您可以使用引导占位符。

xcrun simctl addmedia booted ./MyFile.jpg

要将它添加到任何其他模拟器,您可以使用它的设备id,可以通过运行xcrun simctl list找到它。

xcrun simctl addmedia E201E636-CE6C-11E5-AB30-625662870761 ./MyFile.jpg

对于iOS 8,如果不需要保留照片捕捉日期和位置,只需将照片文件放到模拟器中即可。

要保留照片元数据,请执行以下操作:

复制照片文件到:/Users/{USER}/Library/Developer/CoreSimulator/Devices/{UDID}/data/Media/DCIM/100Apple 删除(或重命名)文件夹:/Users/{USER}/Library/Developer/CoreSimulator/Devices/{UDID}/data/Media/photoData 重新启动模拟器

注意:您需要用您的用户名替换{USER},用模拟器的UDID替换{UDID}。要从终端找到模拟器的UDID,请运行“xcrun simctl list”。

对于iOS 5.1,这将进一步更改为new path

~/库/应用程序支持/iPhone模拟器/5.1/媒体/DCIM/100APPLE

没有一个答案是我需要的。

我发现自己在iOS 5.0及以上模拟器上工作的步骤如下:

关闭模拟器,如果它正在运行xcode项目。 运行模拟器从码头点击它。 拖放图像到模拟器。 点击并按住图片(在safari中打开)并选择保存选项。

你完成了。