我想用UIImagePickerController
用UIImagePickerControllerSourceTypePhotoLibrary
,但它说,“没有照片”。模拟器从何处获取图像?我应该在哪里复制图像,以便在模拟器中显示它们?
我想用UIImagePickerController
用UIImagePickerControllerSourceTypePhotoLibrary
,但它说,“没有照片”。模拟器从何处获取图像?我应该在哪里复制图像,以便在模拟器中显示它们?
Answers:
将图像,视频等内容下载到模拟器上的最简单方法是将它们从计算机拖放到模拟器上。这将导致模拟器打开“照片”应用程序并开始填充图库。
如果您想要一个可编写脚本的方法,请继续阅读。
注意-尽管这是有效且可行的,但我认为下面的Koen解决方案可行的现在是更好,因为它不需要重启模拟器。
通过转至xCode->设备,选择模拟器并检查标识符值来标识模拟器。
去
〜/库/开发人员/ CoreSimulator /设备/ [仿真器标识符] / data / Media / DCIM / 100APPLE
并添加IMG_nnnn.THM和IMG_nnnn.JPG。然后,您将需要重置模拟器(硬件->重新引导),以使其注意到新的更改。它们不是JPEG并不重要-它们都可以是PNG,但是看来它们必须同时存在才能正常工作。如果DCIM还不存在,则可能需要创建它,在这种情况下,您应该从nnnn开始于0001。JPG文件是标准版本,而THM文件是缩略图,尺寸为75x75像素。我写了一个脚本来做到这一点,但有一个更好地记录一个在这里(-link不再工作)。
您还可以通过点击并按住图片,在模拟器中添加来自野生动物园的照片。如果将图像(或任何其他文件,例如PDF)拖到模拟器中,它将立即打开Safari并显示图像,因此这是将图像获取到其中的一种简便方法。
~/Library/Application Support/iPhone Simulator/3.1.3/Media/DCIM/100APPLE
逐步说明Airsource Ltd向模拟器添加图像的答案:
更新:对于iOS Simulator 4.2,请执行两次以下步骤以使其正常运行。谢谢kevboh
!
更新:这也适用于iOS Simulator 6.1
在iOS 8.0中,我们添加了仅将图像拖放到iOS Simulator中的功能。您可以将一堆图像拖到窗口中,并且应该将它们导入该模拟设备的照片卷轴中。您也可以使用simctl命令行工具执行此操作。'xcrun simctl addphoto'
从Xcode 6开始,您可以使用命令行工具xcrun simctl
。
用法很简单;要将照片添加到当前运行的模拟器中,请使用booted
占位符。
xcrun simctl addmedia booted ./MyFile.jpg
要将其添加到任何其他模拟器,请使用其设备ID,可以通过运行来找到它xcrun simctl list
。
xcrun simctl addmedia E201E636-CE6C-11E5-AB30-625662870761 ./MyFile.jpg
这很简单。只需按照以下步骤操作:
这将显示带有保存,取消选项的actionSheet(在iOS 7模拟器的情况下也将复制)。
保存图像。图像被添加到库中。
我只是偶然发现了如何在iOS Simulator上批量上传图像。(我只在6.1上确认过。)
备份文件夹:
~/Library/Application Support/iPhone Simulator/6.1/Media
将所有图像复制到文件夹中:
~/Library/Application Support/iPhone Simulator/6.1/Media/DCIM/100APPLE
移动或删除文件夹:
~/Library/Application Support/iPhone Simulator/6.1/Media/PhotoData
重新启动iOS模拟器
打开照片应用
模拟器将还原100APPLE文件夹中的所有图像!
对于iOS 7,我执行了以下操作:
将照片复制到以下两个文件夹中:
~/Library/Application Support/iPhone Simulator/6.1/Media/DCIM/100APPLE
~/Library/Application Support/iPhone Simulator/7.0/Media/DCIM/100APPLE
仅删除这4个文件(以避免在重新启动时重复):
~/Library/Application Support/iPhone Simulator/6.1/Media/PhotoData/Photos.sqlite-shm
~/Library/Application Support/iPhone Simulator/6.1/Media/PhotoData/Photos.sqlite-wal
~/Library/Application Support/iPhone Simulator/7.0/Media/PhotoData/Photos.sqlite-shm
~/Library/Application Support/iPhone Simulator/7.0/Media/PhotoData/Photos.sqlite-wal
*.sqlite-
文件对我有用。谢谢!
只需将图像拖到iPhone模拟器即可。
没有一个答案能提供我需要的确切解决方案。
我发现自己在iOS 5.0及更高版本的模拟器上工作的步骤如下:
如果正在运行xcode项目,请关闭模拟器。
通过单击从码头运行模拟器。
将图像拖放到模拟器中。
点击并按住图片(在Safari中打开),然后选择保存选项。
大功告成
对于iOS 5.1,它进一步更改为新路径
〜/图书馆/应用程序支持/ iPhone模拟器/5.1/媒体/ DCIM / 100APPLE
对于iOS 8,如果不需要保留照片拍摄日期和位置,只需将照片文件拖放到模拟器中即可。
要保留照片元数据,请执行以下操作:
注意:您需要用您的用户名替换{USER}并用模拟器的UDID替换{UDID}。要为您的模拟器找到UDID,请从终端中运行“ xcrun simctl list”。
向运行IOS 8.0的Iphone Simulation添加图像更加容易。
不再需要处理Safari
试试我做的这个程序。下载代码并在模拟器中运行它https://github.com/cristianbica/CBSimulatorSeed
我写了一个bash脚本来做到这一点。检查链接[1]
#!/bin/bash
# Imports pictures into all iOS simulators.
path_to_pic="src/ios/pictures/"
mkdir -p /Users/$(whoami)/Library/Application\ Support/iPhone\ Simulator/{5.0,5.1,6.0,6.1}/Media/DCIM/100APPLE/
find ~/Library/Application\ Support/iPhone\ Simulator/ -type d -name '100APPLE' -exec cp /Users/$(whoami)/$path_to_pic/* {} \;
我只需要一些随机图像进行测试,所以这就是我的方法。
我拥有世界上最简单的解决方案。只需在模拟器中打开Safari,转到Google图片(或您自己的网站或Dropbox URL),查看图片,按住鼠标按钮2秒钟,您就会看到“保存图片”,它将直接保存到照片库。冲洗并重复。
1. CD到此路径:
/用户/ [macOS用户] /库/开发人员/ CoreSimulator /设备/ [模拟器标识符] / data / Media / DCIM / 100APPLE
可以在以下位置找到[Simulator Identifier]或UDID:硬件=>设备=>管理设备。
例如。cd /用户/ rnDeveloper / Library / Developer / CoreSimulator / Devices / 7508171A-DC5D-47CF-9BE1-FF950326E3DB / data / Media / DCIM / 100APPLE
2.通过运行以下命令下载照片:
curl -o pic_001.jpg“ https://s-media-cache-ak0.pinimg.com/474x/49/25/7a/49257a4b3287b7841922ecdff855fd80.jpg ”
3.重新启动模拟器以查看新文件。