在iPhone模拟器中添加图片或视频

312

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


57
将图像拖到iPhone模拟器中,然后右键单击图像保存。 - Fattie
3
用当前的模拟器无法右键点击它,但我可以点击“分享”图标然后保存图片。 - Scott Rowley
Scott Rowley的回答对我有用,而Joe Blow的则没有。我认为这可能是Xcode 5.1.1版本的差异。 - erstaples
35个回答

16

随着Xcode 6+ (iOS Simulator 8.1及以上版本)提供的新版iOS模拟器,这现在变得更加容易。现在你只需要将一个或多个照片拖到iOS模拟器窗口上,Photos应用程序就会打开,然后立即将所有拖入的照片添加到设备中,而不是打开Safari。


12

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

您可以将Mac Finder中的图像拖动到模拟器上,它会保存到“已保存照片”相册中。

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

要从网页中保存图像到照片应用程序中:

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

如果有人想查找关于在模拟器中复制和粘贴的苹果文档Save Image from Safari


唯一的缺点是它不能同时处理多张图片。 - Antzi
可以很好地处理多张图片。简直不敢相信我之前不知道这个。 - Dazzle

9

没有一个答案能够给我提供精确的解决方案。

对于在iOS 5.0及以上模拟器上工作,我找到的步骤如下:

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

  2. 从dock中点击打开模拟器。

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

  4. 点击并长按图像(在safari中打开),然后选择保存选项。

完成了。


图片最终以552x668的缩略图形式呈现,这并不是原始图片。相比之下,图片导入器会保留原始图片分辨率。 - Rob

7
自iOS 8起,您只需将所有照片拖到模拟器窗口上,它们就会自动保存到相机胶卷中。您可以一次性处理任意数量的照片。

今天发现这个真是太令人愉快了,特别是对于测试带有大量图像数据和NSCache优化的集合视图性能。 - Eric G
这在XCode 10 (测试于10.1)、iOS 12.1上已经停止工作 :( - endavid

7

以上的回答都在iOS 15上不能为我所用。

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

干杯!


7

iOS 5.1的情况下,路径已经发生了变化,具体变化如下:

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


6

对于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'。


在iOS 8.1中没有任何区别。 - nadeem gc

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

这对我有用,但我需要对应用程序进行简单更改:因为我正在运行4.2模拟器,而这是设计运行在4.0上的(我没有),所以我去了“项目”->“编辑项目设置”,然后在“架构”下,我将“基本SDK”更改为“最新iOS”。 - Mark Fowler

4
在使用Xcode 11的OS X Catalina系统中,您需要以不同的方式进行操作。
首先,必须启动模拟器。如果您想将照片复制到多个模拟设备上,则需要启动它们所有。然后,在单个文件上单击右键(多个图像将失败,仅限单个文件)。
分享 -> 模拟器
将弹出一个“共享表单”。您必须在组合框中选择一个活动的模拟器并点击发送。
它会将所选照片发送给多个目标,但不是多对多。
希望这对大家有所帮助。在Xcode和OS X的最新版本中支持拖放功能,但在OS X Catalina和Xcode 11中不再支持。
虽然这确实在说明书中有提到,但目前它不起作用。
对我来说有效的方法是首先将我的图像导入到OS X的iPhoto中,然后将它们从我的OS X iPhoto中拖放到模拟器中。似乎目前只能从OS X iPhoto中将照片拖放到模拟器中 :-(。

3

在运行IOS 8.0的Iphone模拟器中添加图片变得更加简单。

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

不再需要处理Safari了。


现在,您可以一次性将多张照片直接拖放到“相机胶卷”相册中。 - Paul Ardeleanu
1
@PaulArdeleanu,你说得对。但是,它不会保留资产的原始元数据。请查看我的项目,它可以帮助您导入资产并同时保留所有元数据 https://github.com/matibot/MBAssetsImporter - Mati Bot
1
@MatiBot,MBAssetsImporter非常适合批量转移图像 - 非常感谢! - user2067021

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接