我正在尝试将UIImagePickerController
与UIImagePickerControllerSourceTypePhotoLibrary
一起使用,但它说“没有照片”。模拟器从哪里获取图像?我应该在哪里复制图像,以便它们显示在模拟器中?
答案 0 :(得分:441)
逐步解释Airsource有限公司将图像添加到模拟器的答案:
更新:对于iOS模拟器4.2,请执行两次这些步骤以使其正常工作。谢谢kevboh
!
更新:这也适用于iOS模拟器6.1
答案 1 :(得分:205)
将图像输入模拟器的最简单方法是拖放它们。这将导致模拟器打开照片应用程序。
如果您需要可编写脚本的方法,请继续阅读。
注意 - 虽然这是有效的,并且有效,但我认为Koen's solution below现在更好了,因为它不需要重新启动模拟器。
通过转到xCode->设备,选择模拟器并检查标识符值来识别您的模拟器。
转到
〜/ Library / Developer / CoreSimulator / Devices / [Simulator Identifier] / data / Media / DCIM / 100APPLE
并添加IMG_nnnn.THM和IMG_nnnn.JPG。然后,您需要重置模拟器(硬件 - >重新启动)以允许它注意到新的更改。如果它们不是JPEG也没关系 - 它们都可以是PNG,但看起来它们都必须存在才能工作。您可能需要创建DCIM(如果它尚不存在),在这种情况下,您应该从0001开始nnnn.JPG文件是fullsize版本,而THM文件是缩略图,大小为75x75像素。我写了一个脚本来执行此操作,但有一个更好的文档记录here( - 链接不再有用)。
您还可以通过点击并按住图像,在模拟器中添加safari中的照片。如果将图像(或任何其他文件,如PDF)拖动到模拟器,它将立即打开Safari并显示图像,因此这是获取图像的一种简单方法。
答案 2 :(得分:127)
3个简单步骤
答案 3 :(得分:61)
使用iOS 8.0,我们添加了将图像拖放到iOS模拟器中的功能。您可以将一堆图像拖入窗口,然后将它们导入到该模拟设备的照片卷轴中。您也可以使用simctl命令行工具执行此操作。 ' xcrun simctl addphoto'
答案 4 :(得分:39)
从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
答案 5 :(得分:26)
简单。只需按照以下步骤操作:
这会显示带有“保存”,“取消”选项的actionSheet(同样适用于iOS 7模拟器)。
保存图像。图像被添加到库中。
答案 6 :(得分:22)
对于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
答案 7 :(得分:22)
我只是偶然发现如何批量在iOS模拟器上上传图像。 (我只在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文件夹中的所有图像!
答案 8 :(得分:14)
只需将图片拖到iPhone模拟器上即可。
答案 9 :(得分:14)
使用Xcode 6+(iOS模拟器8.1及更高版本)附带的新iOS模拟器可以轻松实现这一点。现在,您只需将一个或多个照片拖到iOS模拟器窗口即可,而不是打开Safari,照片应用程序打开,并立即将所有拖入的照片添加到设备。
答案 10 :(得分:9)
没有一个答案有我需要的确切解决方案。
我在iOS 5.0及以上模拟器上工作的步骤如下:
如果正在运行xcode项目,请关闭模拟器。
通过点击它来运行模拟器。
拖动&将图像放入模拟器中。
点按并按住图片(在safari中打开)并选择保存选项。
你已经完成了。
答案 11 :(得分:8)
方法1(最简单方法):如果您的图像在Mac上
您可以将图像从Mac上的Finder拖动到模拟器,然后保存到已保存的照片相册。
方法2:如果是在任何网址上
将图片从网页保存到照片应用
让某人在模拟器中寻找关于复制和粘贴的Apple Documentation。
答案 12 :(得分:7)
从iOS 8开始,您只需将所有照片拖到模拟器窗口即可自动保存到相机胶卷。你可以根据需要一次做多个。
答案 13 :(得分:7)
对于iOS 5.1,这将进一步更改为新路径
〜/ Library / Application Support / iPhone Simulator / 5.1 / Media / DCIM / 100APPLE
答案 14 :(得分:6)
如果您需要导入的不只是一张或两张照片,请查看我写的article。它描述了一种为iOS 4.x执行批量导入照片和工作的简便方法。
答案 15 :(得分:5)
对于iOS 8,如果不需要保留照片拍摄日期和位置,只需将照片文件拖放到模拟器即可。
要保留照片元数据,请执行以下操作:
注意:您需要使用您的用户名替换{USER},并使用模拟器的UDID替换{UDID}。要从终端找到模拟器的UDID,请运行'xcrun simctl list'。
答案 16 :(得分:3)
quit the simulator.
Run simulator from the dock by clicking on it.
Drag & drop the image into simulator which you want to add.
it will open image in safari .
tap and hold the image and click the save option.
then open gallery and you will see the image which u had saved recently.
答案 17 :(得分:3)
将图像添加到运行IOS 8.0的Iphone Simulation更加容易。
无需再与Safari打交道了
答案 18 :(得分:2)
尝试我制作的这款应用。下载代码并在模拟器https://github.com/cristianbica/CBSimulatorSeed
中运行它答案 19 :(得分:2)
对于iOS 4.2,我必须创建100APPLE文件夹并重新启动模拟器,然后才能工作。
答案 20 :(得分:2)
最简单的解决方案是在模拟器上简单地登录iCloud,然后使用它来传输驱动器中的任何文件,包括照片。
答案 21 :(得分:2)
对于iOS 8.0,答案已过时。我在以下路径中找到了媒体资源: 的〜/库/开发商/ CoreSimulator /设备/ [的DeviceID] /数据/媒体/ DCIM / 100APPLE 强>
答案 22 :(得分:1)
使用iOS 11和Xcode 9,只需将照片拖放到模拟器即可。它会自动在图书馆应用中导入它们。很简单!
答案 23 :(得分:1)
更简单的方法是: 在模拟器上打开野生动物园>点击www.google.com 搜索随机照片“nature” 打开每个图像,按下并保存。
答案 24 :(得分:1)
答案 25 :(得分:1)
<强> 1。 CD到这条道路:
/ Users / [macOS user] / Library / Developer / CoreSimulator / Devices / [Simulator 标识符] /数据/媒体/ DCIM / 100APPLE
[模拟器标识符]或UDID可在以下位置找到:硬件=&gt; device =&gt;管理设备。
例如。 cd / Users / rnDeveloper / Library / Developer / CoreSimulator / Devices / 7508171A-DC5D-47CF-9BE1-FF950326E3DB / data / Media / DCIM / 100APPLE
<强> 2。通过运行此命令下载照片:
curl -o pic_001.jpg &#34; https://s-media-cache-ak0.pinimg.com/474x/49/25/7a/49257a4b3287b7841922ecdff855fd80.jpg&#34;
第3。重新启动模拟器以查看新文件。
答案 26 :(得分:1)
答案 27 :(得分:1)
我只是需要一些随机图片进行测试,所以这就是我做的。
我拥有世界上最简单的解决方案。只需在模拟器中打开Safari,转到Google图片(或您自己的网站或Dropbox网址),查看图片,按住鼠标按钮2秒钟,您就会看到&#34;保存图片&#34; - 它将保存到照片库中。冲洗并重复。
答案 28 :(得分:1)
只是告诉你:KONG的解决方案也适用于iOS 7测试版。
他的解决方案是:
将图像拖动到模拟器,然后Safari打开(或使用Safari浏览到互联网中的图像) 按住图像上的 出现弹出窗口时,选择保存图像并欣赏;)
答案 29 :(得分:1)
我写了一个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/* {} \;
答案 30 :(得分:1)
只需将图像拖放到iphone模拟器中即可。浏览器将打开以显示您的图像。 按下图像,直到您没有收到保存图像的选项。然后保存图像。 而已 :)。你会在你的模拟器中看到你的图像到照片应用程序....
答案 31 :(得分:0)
在带有Xcode 11的OS X Catalina中,您必须执行不同的操作。
首先,您必须启动模拟器。如果您要复制,请在多台模拟设备上说张照片。启动所有这些。然后右键单击一个(多个图像将失败。仅执行单个文件。)。
共享->模拟器
将弹出一个“共享表”。您必须在组合框中选择一个活动的模拟器,然后单击发送。
它将发送一对多但不多对多的所选照片。
我希望这对大家有所帮助。在最新版本的Xcode和OS X中支持拖放,但在OS X Catalina和Xcode 11中不支持拖放。
这是按照目前无法正常使用的方向进行的。
DID对我有用的是首先将图像导入OS X上的iPhoto,然后从OS X iPhoto拖放/拖放它们并放入模拟器。看来,将照片拖放到模拟器中仅在OS X iPhoto上有效。 :-(
答案 32 :(得分:0)
如果由于遇到错误而无法拖放文件:
一个或多个媒体项导入失败::操作无法完成。 (PHPhotosErrorDomain错误-1。)
将文件移动到Documents
文件夹中,然后将其拖到模拟器中。这将触发模拟器询问访问文件的权限。不会将它们放在Downloads
文件夹中。
答案 33 :(得分:0)
确保设备正在运行。
在终端中执行以下操作:
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
进一步的正则表达式引用@https://regex101.com/r/tY951n/3