296

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

4

35 回答 35

448

逐步解释 Airsource Ltd 将图像添加到模拟器的答案:

  1. 将其拖到模拟器,然后 Safari 打开(或使用 Safari 浏览到 Internet 中的图像)
  2. 按住你的图片
  3. 当弹出窗口出现时,选择保存图像并享受;)

更新:对于 iOS Simulator 4.2,请执行两次这些步骤以使其正常工作。谢谢kevboh

更新:这也适用于 iOS 模拟器 6.1

于 2010-01-11T04:06:21.280 回答
269

将图像、视频等放到模拟器上的最简单方法是将它们从您的计算机拖放到模拟器上。这将导致模拟器打开照片应用程序并开始填充库。


如果您想要一个可编写脚本的方法,请继续阅读。

注意 - 虽然这是有效的并且有效,但我认为Koen 下面的解决方案现在是一个更好的解决方案,因为它不需要重新启动模拟器。

通过转到 xCode->Devices,选择您的模拟器并检查 Identifier 值来识别您的模拟器。或者您可以确保模拟器正在运行并运行以下命令以获取设备 IDxcrun simctl list | grep Booted

~/Library/Developer/CoreSimulator/Devices/[模拟器标识符]/data/Media/DCIM/100APPLE

并添加 IMG_nnnn.THM 和 IMG_nnnn.JPG。然后,您需要重置您的模拟器(硬件->重新启动)以使其注意到新的更改。它们是否不是 JPEG 并不重要——它们都可以是 PNG,但似乎它们都必须存在才能正常工作。如果 DCIM 不存在,您可能需要创建它,在这种情况下,您应该从 0001 开始 nnnn。JPG 文件是全尺寸版本,而 THM 文件是缩略图,大小为 75x75 像素。我编写了一个脚本来执行此操作,但这里有一个更好的文档(-link 不再起作用)。

您还可以通过点击并按住图像在模拟器中添加来自 safari 的照片。如果您将图像(或任何其他文件,如 PDF)拖到模拟器中,它将立即打开 Safari 并显示图像,因此这是一种获取图像的非常简单的方法。

于 2009-01-22T12:15:34.517 回答
130

3 个简单的步骤

  1. 将图像拖放到模拟器上
    - 这将打开一个带有您的图像的浏览器
  2. 单击并按住图像
    - 这将打开选项
  3. 保存图像
    - 这会将图像复制到模拟器上

观看 YouTube 视频(将图像添加到 iphone 模拟器)

于 2010-06-30T19:19:49.627 回答
63

在 iOS 8.0 中,我们添加了将图像拖放到 iOS 模拟器中的功能。您可以将一堆图像拖到窗口中,它们应该被导入到该模拟设备的照片卷轴中。您也可以使用 simctl 命令行工具来执行此操作。'xcrun simctl addphoto'

于 2014-09-10T06:40:44.423 回答
49

从 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
于 2016-02-08T14:07:06.440 回答
27

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

  1. 将图像拖放到模拟器上
  2. 现在图像在 Safari 浏览器中打开 (file://.../ImageName)。点击并按住图像。
  3. 这将显示带有保存、取消选项的 actionSheet(在 iOS 7 模拟器的情况下也复制)。

    操作表的屏幕截图

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

    照片库

于 2013-04-16T11:32:21.720 回答
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. 打开照片应用

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

于 2013-05-30T23:57:38.197 回答
21

对于 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
于 2013-11-07T19:53:36.097 回答
18

只需将图像拖到 iPhone 模拟器上。

于 2017-05-28T11:24:37.833 回答
16

使用 Xcode 6+(iOS 模拟器 8.1 及更高版本)附带的新 iOS 模拟器,这要容易得多。现在您所要做的就是将一张或多张照片拖到 iOS 模拟器窗口上,而不是打开 Safari,而是打开照片应用程序打开,并立即将所有拖入的照片添加到设备中。

于 2014-11-23T12:07:56.150 回答
11

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

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

方法 2:如果它在任何 URL 上

将网页中的图像保存到“照片”应用程序

  1. 将指针放在要保存的图像上,然后按住鼠标按钮或触控板。
  2. 当菜单出现时,单击 Save Image 将图像保存到 iOS 模拟器中的 Photos 应用程序中。
  3. 图像将保存到“照片”应用程序中的“已保存照片”相册中。

如果有人正在寻找有关在模拟器中复制和粘贴 的Apple 文档。从 Safari 保存图像

于 2017-11-19T05:17:03.740 回答
9

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

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

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

  2. 通过单击从 Dock 运行模拟器。

  3. 将图像拖放到模拟器中。

  4. 点击并按住图像(在 Safari 中打开)并选择保存选项。

你完成了。

于 2013-02-05T14:42:51.760 回答
7

对于 iOS 5.1,这将进一步更改为新路径

~/Library/Application Support/iPhone Simulator/5.1/Media/DCIM/100APPLE

于 2012-04-11T15:15:39.870 回答
7

从 iOS 8 开始,您只需将所有照片拖到模拟器窗口上,它们就会自动保存到相机胶卷。你可以一次做尽可能多的事情。

于 2014-09-23T21:46:21.213 回答
6

如果您需要导入的不仅仅是一张或两张照片,请查看我写的这篇文章。它描述了一种用于批量导入照片的简单方法,并且适用于 iOS 4.x。

于 2010-09-02T14:49:05.787 回答
6

如果您因为遇到错误而无法拖放文件:

一项或多项媒体项目导入失败: : 操作无法完成。(PHPhotosErrorDomain 错误 -1。)

将文件移动到Documents文件夹中,然后将它们拖到模拟器中。这将触发模拟器请求访问您的文件的权限。将它们放在Downloads文件夹中,不会。

于 2020-09-23T13:03:50.173 回答
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. 重新启动模拟器

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

于 2014-11-04T17:41:44.213 回答
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.
于 2014-08-06T06:04:24.343 回答
3

将图像添加到运行 IOS 8.0 的 Iphone Simulation 更加容易。

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

不再需要处理 Safari

于 2014-08-09T22:19:03.507 回答
2

对于 iOS 4.2,我必须去创建 100APPLE 文件夹并重新启动模拟器,然后它就可以工作了。

于 2011-10-05T02:05:58.923 回答
2

试试我制作的这个应用程序。下载代码并在模拟器中运行https://github.com/cristianbica/CBSimulatorSeed

于 2013-08-20T13:40:39.893 回答
2

对于 iOS 8.0,答案已过时。我在以下路径中找到了媒体资源: ~/Library/Developer/CoreSimulator/Devices/[DeviceID]/data/Media/DCIM/100APPLE

于 2015-09-02T07:13:26.743 回答
2

在带有 Xcode 11 的 OS X Catalina 中,您必须以不同的方式执行此操作。

首先你必须启动模拟器。如果要复制,请向多个模拟设备说一张照片。启动所有这些。然后右键单击一个(多个图像将失败。只做一个文件。)。

分享 -> 模拟器

将弹出一个“共享表”。您必须在组合框中选择一个活动模拟器并点击发送。

它将发送一对多但不是多对多的选定照片。

我希望这对人们有所帮助。Xcode 和 OS X 的最新版本支持拖放,但 OS X Catalina 和 Xcode 11 不支持。

虽然这是在方向上,但它目前不起作用。

对我有用的是首先将我的图像导入 OS X 上的 iPhoto,然后将它们从我的 OS X iPhoto 拖放到模拟器中。看起来将照片拖放到模拟器中目前仅适用于 OS X iPhoto。:-(

于 2019-11-26T19:12:17.140 回答
1

只需将图像拖放到 iphone 模拟器中。浏览器将打开以显示您的图像。按图像直到您没有收到保存图像的选项。然后保存图像。就是这样 :)。您将在模拟器中的照片应用程序中看到您的图像....

于 2012-08-24T11:18:39.900 回答
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

于 2013-03-19T10:00:12.410 回答
1

只是告诉你:KONG 的解决方案也适用于 iOS 7 beta。

他的解决方案是:

将图像拖到模拟器,然后 Safari 打开(或使用 Safari 浏览到 Internet 中的图像)按住图像当弹出窗口出现时,选择保存图像并享受;)

于 2013-06-20T17:37:20.390 回答
1

我只需要一些随机图像进行测试,所以我就是这样做的。

我有世界上最简单的解决方案。只需在模拟器中打开 Safari,转到 Google 图片(或您自己的 Web 或 Dropbox URL),查看图片,按住鼠标按钮 2 秒钟,您将看到“保存图片” - 它会直接保存到照片库。冲洗并重复。

于 2014-05-23T17:54:30.517 回答
1

更简单的方法是:在模拟器上打开 safari > 点击 www.google.com 搜索随机照片“自然”打开每张图片,按下并保存。

于 2014-09-23T23:38:19.950 回答
1

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

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

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

于 2015-07-27T18:32:21.123 回答
1

1. CD到这个路径:

/Users/[macOS 用户]/Library/Developer/CoreSimulator/Devices/[模拟器标识符]/data/Media/DCIM/100APPLE

[模拟器标识符] 或 UDID 可以在以下位置找到:硬件 => 设备 => 管理设备。

例如。cd /Users/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. 重新启动您的模拟器以查看新文件。

于 2016-12-15T10:48:30.730 回答
1

最简单的解决方案是在模拟器上登录 iCloud,然后使用它来传输驱动器中的任何文件,包括照片。

于 2017-01-26T23:20:28.880 回答
1

使用 iOS 11 和 Xcode 9,只需将照片拖放到模拟器即可。它会自动将它们导入图书馆应用程序。好简单!

于 2017-09-28T14:01:24.970 回答
1
  1. 使用您的电脑只需通过您的电子邮件发送图像
  2. 打开 IOS-Simulator 然后打开电子邮件并下载图像

  3. 只需在图像上单击并按住鼠标,然后从将显示的选项中在此处输入图像描述

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

于 2019-03-01T09:18:22.033 回答
1

以上答案都不适用于 iOS 15。

我只是打开文件应用程序并将图像拖放到那里。它会自动将图像导入照片应用程序,我可以通过我的模拟器在任何地方使用。

干杯!

于 2021-11-02T15:03:08.120 回答
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

于 2020-12-30T10:27:25.513 回答