将图像添加到iPhone模拟器

时间:2009-01-22 12:08:05

标签: ios iphone ios-simulator uiimagepickercontroller photo

我正在尝试将UIImagePickerControllerUIImagePickerControllerSourceTypePhotoLibrary一起使用,但它说“没有照片”。模拟器从哪里获取图像?我应该在哪里复制图像,以便它们显示在模拟器中?

34 个答案:

答案 0 :(得分:441)

逐步解释Airsource有限公司将图像添加到模拟器的答案:

  1. 将其拖至模拟器,然后Safari打开 (或使用Safari浏览互联网中的图像)
  2. 按住图片
  3. 出现弹出窗口时,选择保存图像并欣赏;)
  4. 更新:对于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个简单步骤

  1. 拖动&将图像拖放到模拟器上      - 这将打开带有您图片的浏览器
  2. 点击&保持形象
         - 这将打开选项
  3. 保存图片
         - 这会将图像复制到模拟器上
  4. Watch YouTube Video ( add images to iphone simulator)

答案 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)

简单。只需按照以下步骤操作:

  1. 将图像拖放到模拟器上
  2. 现在图片打开Safari浏览器(file://.../ImageName)。点击并按住图像。
  3. 这会显示带有“保存”,“取消”选项的actionSheet(同样适用于iOS 7模拟器)。

    Screenshot for Actionsheet

  4. 保存图像。图像被添加到库中。

    Photo Library

答案 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确认了。)

  1. 备份文件夹:

    ~/Library/Application Support/iPhone Simulator/6.1/Media
    
  2. 将所有图片复制到文件夹中:

    ~/Library/Application Support/iPhone Simulator/6.1/Media/DCIM/100APPLE
    
  3. 移动或删除文件夹:

    ~/Library/Application Support/iPhone Simulator/6.1/Media/PhotoData
    
  4. 重启iOS模拟器

  5. 打开照片应用

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

答案 8 :(得分:14)

只需将图片拖到iPhone模拟器上即可。

答案 9 :(得分:14)

使用Xcode 6+(iOS模拟器8.1及更高版本)附带的新iOS模拟器可以轻松实现这一点。现在,您只需将一个或多个照片拖到iOS模拟器窗口即可,而不是打开Safari,照片应用程序打开,并立即将所有拖入的照片添加到设备。

答案 10 :(得分:9)

没有一个答案有我需要的确切解决方案。

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

  1. 如果正在运行xcode项目,请关闭模拟器。

  2. 通过点击它来运行模拟器。

  3. 拖动&将图像放入模拟器中。

  4. 点按并按住图片(在safari中打开)并选择保存选项。

  5. 你已经完成了。

答案 11 :(得分:8)

方法1(最简单方法):如果您的图像在Mac上

您可以将图像从Mac上的Finder拖动到模拟器,然后保存到已保存的照片相册。

方法2:如果是在任何网址上

将图片从网页保存到照片应用

  1. 将指针放在要保存的图像上,然后按住鼠标按钮或触控板。
  2. 出现菜单时,单击“保存图像”将图像保存到iOS模拟器中的“照片”应用程序。
  3. 图像将保存到照片应用中的已保存照片相册。
  4. 让某人在模拟器中寻找关于复制和粘贴的Apple DocumentationSave Image from Safari

答案 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,如果不需要保留照片拍摄日期和位置,只需将照片文件拖放到模拟器即可。

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

  1. 将照片文件复制到:/ Users / {USER} / Library / Developer / CoreSimulator / Devices / {UDID} / data / Media / DCIM / 100Apple
  2. 删除(或重命名)文件夹:/ Users / {USER} / Library / Developer / CoreSimulator / Devices / {UDID} / data / Media / photoData
  3. 重新启动模拟器
  4. 注意:您需要使用您的用户名替换{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更加容易。

  • 将图片拖到模拟器
  • IOS打开Photo应用程序,您的图像现在已成为您收藏的一部分。

无需再与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)

  1. 使用您的PC只是通过电子邮件发送图像
  2. 打开IOS-Simulator,然后打开电子邮件并下载图片

  3. 只需在图像上单击并按住鼠标,然后从将显示的选项中enter image description here

  4. 然后,它将被自动保存到您的iOS模拟器的照片库中

答案 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)

使用拖放功能,您将丢失照片的所有元数据。

我创建了一个项目,可以很容易地将资源导入模拟器:MBAssetsImporter

它可以导入视频和照片,同时保留文件的所有原始元数据。

答案 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/* {} \;

[1]:https://gist.github.com/firesofmay/5194901

答案 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)

  1. 确保设备正在运行。

  2. 在终端中执行以下操作:

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