我试图使用UIImagePickerController与UIImagePickerControllerSourceTypePhotoLibrary,但它说,“没有照片”。模拟器从哪里获得图像?我应该在哪里复制图像,以便它们在模拟器中显示?
将图像、视频等放到模拟器上的最简单方法是将它们从计算机拖放到模拟器上。这将导致模拟器打开照片应用程序并开始填充库。
如果您想要一个可编写脚本的方法,请继续阅读。
注意-虽然这是有效的,并且工作,我认为Koen下面的解决方案现在是一个更好的,因为它不需要重新启动模拟器。
通过到xCode->Devices,选择您的模拟器,并检查Identifier值来识别您的模拟器。或者,您可以确保模拟器正在运行,并运行以下命令获取设备ID xcrun simctl list | grep Booted
去
~ /图书馆/开发/ CoreSimulator /设备/(模拟器标识符)/数据/媒体/ DCIM / 100苹果
and add IMG_nnnn.THM and IMG_nnnn.JPG. You will then need to reset your simulator (Hardware->Reboot) to allow it to notice the new changes. It doesn't matter if they are not JPEGs - they can both be PNGs, but it appears that both of them must be present for it to work. You may need to create DCIM if it doesn't already exist, and in that case you should start nnnn from 0001. The JPG files are the fullsize version, while the THM files are the thumbnail, and are 75x75 pixels in size. I wrote a script to do this, but there's a better documented one over here(-link no longer work).
你也可以在模拟器中通过点击并按住图片来添加safari中的照片。如果您将图像(或任何其他文件,如PDF)拖到模拟器,它将立即打开Safari并显示图像,因此这是一种非常简单的获取图像的方法。
一步一步解释Airsource有限公司为模拟器添加图像的答案:
拖到模拟器,然后打开Safari (或使用Safari浏览器在互联网上浏览图片) 按住图像上的鼠标 当弹出窗口出现时,选择保存图像并享受;)
更新:对于iOS模拟器4.2,执行这些步骤两次以使其工作。谢谢kevboh !
更新:这也适用于iOS模拟器6.1
3个简单步骤
拖放图像到模拟器 -这将打开一个浏览器与您的图像 点击并按住图片 -这将打开选项 保存图像 -这将复制图像到模拟器
观看YouTube视频(将图像添加到iphone模拟器)
只需拖放图像到iphone模拟器。浏览器将打开显示您的图像。 按下图像,直到你没有收到保存图像的选项。然后保存图像。 就是这样:)。你会看到你的图像在你的模拟器....的照片应用程序
没有一个答案是我需要的。
我发现自己在iOS 5.0及以上模拟器上工作的步骤如下:
关闭模拟器,如果它正在运行xcode项目。 运行模拟器从码头点击它。 拖放图像到模拟器。 点击并按住图片(在safari中打开)并选择保存选项。
你完成了。
为此我编写了一个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
它的简单。只需遵循以下步骤:
拖放图像到模拟器 现在图像打开到Safari浏览器(文件://…/ImageName)。点击并按住图像。 这将显示带有保存,取消选项的actionSheet(在iOS 7模拟器的情况下也复制)。 保存图像。图像被添加到Library中。
我只是偶然发现了如何在iOS模拟器上批量上传图像。(我只在6.1上确认过。)
备份文件夹: ~/库/应用程序支持/iPhone模拟器/6.1/媒体 复制所有图片到文件夹: ~/库/应用程序支持/iPhone模拟器/6.1/媒体/DCIM/100APPLE 移动或删除文件夹: ~/库/应用程序支持/iPhone模拟器/6.1/媒体/PhotoData 重启iOS模拟器 打开照片应用程序
模拟器将恢复100APPLE文件夹中的所有图像!
只是告诉你:KONG的解决方案也适用于iOS 7测试版。
他的解决方案是:
将图像拖到模拟器,然后打开Safari(或在互联网上使用Safari浏览图像) 按住图像上的鼠标 当弹出窗口出现时,选择保存图像并享受;)
对于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
我只是需要一些随机的图像进行测试,所以这就是我所做的。
我有世界上最简单的解决办法。只需在模拟器中打开Safari,转到谷歌图像(或您自己的web或Dropbox URL),查看图像,按住鼠标按钮2秒,你会看到“保存图像”-它会保存到照片库中。清洗并重复。
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.
在运行IOS 8.0的Iphone Simulation中添加图像甚至更容易。
将图像拖到模拟器 IOS打开照片应用程序,你的照片现在是你的收藏的一部分。
没有必要再使用Safari了
在iOS 8.0中,我们添加了将图像拖放到iOS模拟器中的功能。您可以将一堆图像拖到窗口中,它们应该被导入到该模拟设备的照片卷轴中。您还可以使用simctl命令行工具完成此操作。xrun simctl addphoto
对于iOS 8,如果不需要保留照片捕捉日期和位置,只需将照片文件放到模拟器中即可。
要保留照片元数据,请执行以下操作:
复制照片文件到:/Users/{USER}/Library/Developer/CoreSimulator/Devices/{UDID}/data/Media/DCIM/100Apple 删除(或重命名)文件夹:/Users/{USER}/Library/Developer/CoreSimulator/Devices/{UDID}/data/Media/photoData 重新启动模拟器
注意:您需要用您的用户名替换{USER},用模拟器的UDID替换{UDID}。要从终端找到模拟器的UDID,请运行“xcrun simctl list”。
使用Xcode 6+ (iOS Simulator 8.1及以上版本)附带的新iOS模拟器,这要容易得多。现在你所要做的就是把一张或多张照片拖到iOS模拟器窗口上,然后不是打开Safari浏览器,而是打开照片应用程序,并立即将所有拖进来的照片添加到设备中。
使用拖放功能,您将丢失照片的所有元数据。
我已经创建了一个项目,可以很容易地将资产导入模拟器:MBAssetsImporter。
它使您可以导入视频和照片,同时保留文件的所有原始元数据。
对于iOS 8.0,答案已经过时了。我在以下路径找到了媒体资源: ~ /图书馆/开发/ CoreSimulator /设备/[的DeviceID] /数据/媒体/ DCIM / 100苹果
从Xcode 6开始,你可以使用命令行工具xcrun simctl。
用法非常简单;要将照片添加到当前运行的模拟器中,您可以使用引导占位符。
xcrun simctl addmedia booted ./MyFile.jpg
要将它添加到任何其他模拟器,您可以使用它的设备id,可以通过运行xcrun simctl list找到它。
xcrun simctl addmedia E201E636-CE6C-11E5-AB30-625662870761 ./MyFile.jpg
1. CD到此路径:
/用户/ (macOS用户)/图书馆/开发/ CoreSimulator /设备/[模拟器 标识符]/数据/媒体/ DCIM / 100苹果 [模拟器标识符]或UDID可以在以下位置找到:Hardware => device => manage devices。 如。cd /用户/ rnDeveloper /图书馆/开发/ CoreSimulator /设备/ 7508171 a-dc5d-47cf-9be1-ff950326e3db /数据/媒体/ DCIM / 100苹果
2. 下载图片:
Curl -o pic_001.jpg “https://s-media-cache-ak0.pinimg.com/474x/49/25/7a/49257a4b3287b7841922ecdff855fd80.jpg”
3.重新启动模拟器以查看新文件。
方法1(最简单的方法):如果你的图像在Mac上
您可以将图像从Mac上的Finder拖到模拟器,它就会保存到“已保存的照片”相册中。
方法2:如果它在任何URL
将图片从网页保存到“照片”应用程序
将指针放在要保存的图像上,并按住鼠标按钮或触摸板。 当菜单出现时,单击Save Image将图像保存到iOS模拟器中的Photos应用程序中。 图片被保存到“照片”应用程序的“已保存照片”相册中。
以防有人在模拟器中寻找关于复制和粘贴的苹果文档。
使用您的电脑只需通过电子邮件发送图像 打开ios模拟器,然后打开电子邮件并下载图像 只需单击并按住图像上的鼠标,从选项中就会显示出来 然后,它会自动保存到你的ios模拟器的图片库
在OS X Catalina和Xcode 11中,你必须做不同的事情。
首先你必须启动模拟器。如果你想复制,说一张照片到多个模拟设备。把它们都启动。然后右键单击一个单一(多个图像将失败。只做一个文件。)
共享->模拟器
将弹出“共享表”。您必须在组合框中选择一个活动模拟器并点击发送。
它将发送一个到许多,但不是许多到许多选定的照片。
我希望这能帮助到大家。Xcode和OS X的上一个版本支持拖放,但OS X Catalina和Xcode 11不支持拖放。
虽然这是在方向,但目前是行不通的。
对我来说有用的是首先将我的图像导入到OS X的iPhoto中,然后从我的OS X iPhoto中拖放它们,然后放入模拟器中。它将出现拖放照片到模拟器目前只能从OS X iPhoto工作。: - (
如果你不能拖放你的文件,因为你遇到错误:
一个或多个媒体项导入失败::操作无法完成。(PHPhotosErrorDomain错误-1.)
将文件移动到Documents文件夹中,然后将它们拖到模拟器中。这将触发模拟器请求访问文件的权限。将它们放在下载文件夹中则不会。
确保设备处于运行状态。 在终端执行以下命令:
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
进一步的regex ref @ https://regex101.com/r/tY951n/3
推荐文章
- 是否有可能更新一个本地化的故事板的字符串?
- 以编程方式获取Bundle Identifier
- 为iPad和iPhone设计输入按钮
- 如何在我的iPhone应用程序中使用NSError ?
- 我的预发行应用已经在iTunes Connect中“处理”了一周多,这是怎么回事?
- Xcode iOS项目只显示“我的Mac 64位”,但不显示模拟器或设备
- Objective-C中的自动引用计数不能防止或减少什么样的泄漏?
- 在Xcode 9中如何从打开的多个模拟器中退出或关闭单个模拟器?
- 如何使用Swift播放声音?
- UINavigationBar自定义返回按钮没有标题
- 如何精确地以毫秒为单位记录方法的执行时间?
- 在整个UIWindow中获取UIView的位置
- 如何解散ViewController在Swift?
- 保存字符串到NSUserDefaults?
- 什么是NSLocalizedString等效在Swift?