【问题标题】:Adding images or videos to iPhone Simulator将图像或视频添加到 iPhone 模拟器
【发布时间】:2010-10-02 21:41:31
【问题描述】:

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

【问题讨论】:

  • 将图片拖到 iPhone 模拟器上。然后右击图片保存。
  • 我无法用当前的 sim 右键单击​​它,但我可以单击“共享”图标然后保存图像。
  • Scott Rowley 的回应对我有用,而 Joe Blow 的则没有。我认为这可能是 Xcode 5.1.1 版本的差异。

标签: ios iphone ios-simulator uiimagepickercontroller photo


【解决方案1】:

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

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

干杯!

【讨论】:

    【解决方案2】:
    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

    【讨论】:

      【解决方案3】:

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


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

      注意 - 虽然这是有效且有效的,但我认为 Koen's solution below 现在更好,因为它不需要重新启动模拟器。

      通过转到 xCode->Devices,选择您的模拟器并检查 Identifier 值来识别您的模拟器。或者您可以确保模拟器正在运行并运行以下命令以获取设备ID xcrun 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 像素。我编写了一个脚本来执行此操作,但有一个比here(-link 不再起作用)更好的文档。

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

      【讨论】:

      • 在 iPhone SDK 3.0 下,这只是一点点改变。现在,缩略图文件(“.THM”)需要放在 100APPLE/.MISC 下。否则,所有照片都会显示为黑框。
      • 如何更新主相册表格视图中“已保存照片”单元格上的图标?
      • 我的位置在~/Library/Application Support/iPhone Simulator/3.1.3/Media/DCIM/100APPLE
      • 对于使用 5.1 模拟器的我来说,您不需要 .THM 文件,并且目录需要是 ~/Library/Application Support/iPhone Simulator/5.1/Media/DCIM/100APPLE 脚本链接答案不再适合我,所以我在这里编写了自己的脚本:gist.github.com/3738695
      • 不幸的是,对于 iOS6,这种技术不再有效。这个可以在模拟器中运行的小型导入应用程序运行良好 - aptogo.co.uk/2010/09/importing-photos 请参阅下面这个评分较低的答案。
      【解决方案4】:

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

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

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

      【讨论】:

      • 谢谢你,文档文件夹是这里的关键
      • 非常感谢!这为我节省了很多时间!
      【解决方案5】:

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

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

      分享 -> 模拟器

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

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

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

      虽然这是在当前不工作的方向上。

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

      【讨论】:

        【解决方案6】:
        1. 使用您的电脑只需通过电子邮件发送图像
        2. 打开IOS-Simulator然后打开邮件并下载图片

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

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

        【讨论】:

          【解决方案7】:

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

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

          方法 2:如果在任何 URL 上

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

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

          如果有人正在寻找有关在模拟器中复制和粘贴的 Apple Documentation

          【讨论】:

          • 唯一的缺点是它不能同时处理多个图像。
          • 适用于多个图像。不敢相信我没有早点知道。
          【解决方案8】:

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

          【讨论】:

            【解决方案9】:

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

            【讨论】:

              【解决方案10】:

              从 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
              

              【讨论】:

              • 最后一个命令“xcrun simctl addmedia E201E636-CE6C-11E5-AB30-625662870761 ./MyFile.jpg”似乎只有在模拟器运行时才有效。我希望有一个解决方案可以在不运行的情况下添加图像,即在运行模拟器之前进行准备。
              【解决方案11】:

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

              【讨论】:

                【解决方案12】:

                1. CD 到此路径:

                /Users/[macOS 用户]/Library/Developer/CoreSimulator/Devices/[Simulator 标识符]/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。重新启动模拟器以查看新文件。

                【讨论】:

                  【解决方案13】:

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

                  我创建了一个项目,可以非常轻松地将资产导入模拟器:MBAssetsImporter

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

                  【讨论】:

                    【解决方案14】:

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

                    【讨论】:

                      【解决方案15】:

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

                      【讨论】:

                        【解决方案16】:

                        对于 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 中没有区别
                        【解决方案17】:

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

                        【讨论】:

                          【解决方案18】:

                          从 iOS 8 开始,您只需将所有照片拖到模拟器窗口上,它们就会自动保存到相机胶卷中。您可以一次执行任意多个操作。

                          【讨论】:

                          • 今天发现这一点非常令人高兴,尤其是在使用大量图像数据 + NSCache 优化测试集合视图的性能时。
                          • 这已停止在 XCode 10(在 10.1 上测试)、iOS 12.1 上工作 :(
                          【解决方案19】:

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

                          【讨论】:

                          • 谢谢!很棒的功能。请注意,您不能将它们拖到 Dock 图标上,您必须将它们拖到 Simulator 窗口中。希望很快就会改变以允许拖动到图标。
                          • 拖动到 Dock 图标应该会将应用程序窗口带到前台(就像拖动到 Finder 停靠图标一样)。
                          • 嗨@JeremyHuddlestonSequoia!两个问题:该命令仅适用于图片,不适用于视频,对吗?另外,有没有办法向模拟器输入“时刻”风格的信息(即创建多个时刻,可能是回溯等)?
                          • 正确。它只是用于添加照片。它不能用于视频。我不知道回溯事件的方法,但可以通过照片应用程序实现。如果没有,那肯定值得在bugreport.apple.com
                          • @JeremyHuddlestonSequoia,它不保留资产的原始元数据。请查看我的项目,它可以帮助您导入资产,同时保留所有元数据(包括视频!)github.com/matibot/MBAssetsImporter
                          【解决方案20】:

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

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

                          不再需要与 Safari 打交道

                          【讨论】:

                          • 您现在还可以一次将多张照片直接拖到相机胶卷相册中。
                          • @PaulArdeleanu,你是对的。但是,它不会保留资产的原始元数据。请查看我的项目,这些项目可以帮助您导入资产,同时保留所有元数据github.com/matibot/MBAssetsImporter
                          • @MatiBot,MBAssetsImporter 非常适合批量传输图像 - 非常感谢!
                          【解决方案21】:
                          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.
                          

                          【讨论】:

                            【解决方案22】:

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

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

                            【讨论】:

                              【解决方案23】:

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

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

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

                              【讨论】:

                                【解决方案24】:

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

                                【讨论】:

                                • 删除 *.sqlite- 文件对我有用。谢谢!
                                • 太棒了,它真的帮助了我。我尝试了几种方法,直到现在我都在做拖放。但是当您需要复制太多图像时,这是更简单的方法:)
                                • 使用 iOS 8,您现在可以将照片拖到模拟器上 :)
                                • 与 Arel 的回答不同,移动到 DCIM/100APPLE 的电影将无法使用此技术。
                                【解决方案25】:

                                三个简单的步骤

                                1. 将图像拖放到模拟器上
                                  - 这将使用您的图片打开浏览器
                                2. 点击并按住图片
                                  - 这将打开选项
                                3. 保存图片
                                  - 这会将图像复制到模拟器上

                                Watch YouTube Video ( add images to iphone simulator)

                                【讨论】:

                                • 不适用于视频。因为当你长按屏幕时什么都不会发生。
                                【解决方案26】:

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

                                【讨论】:

                                • 在 iOS7 下无法开箱即用 - 说明 cocoaPods 不同步。
                                • 你必须运行 pod install 来安装 Pod,因为它们不在 repo 中。我已经更新了自述文件
                                【解决方案27】:

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

                                他的解决方案是:

                                将图像拖到模拟器,然后 Safari 打开(或使用 Safari 浏览到 Internet 中的图像) 按住你的图片 当弹出窗口出现时,选择 Save Image and enjoy ;)

                                【讨论】:

                                  【解决方案28】:

                                  我刚刚偶然发现如何在 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文件夹中的所有图片!

                                  【讨论】:

                                  • 优秀的解决方案。我已将照片放在 Media/DCIM 文件夹中,但我还需要删除 PhotoData 文件夹。而且,这也适用于 iOS 7。
                                  • 也适用于 iOS7!谢谢!
                                  • 我在 iOS7.0.3 4 英寸模拟器下尝试过的四种方法中,这是唯一一种有效的方法,尽管我确实发现每张图像都有重复。赞成。
                                  • 我可以在iOS7.0下使用这个github项目导入图片github.com/basilhe/iOS-Simulator-Photo-Importer。似乎是前面提到的照片导入器的变体,但也有视频。
                                  • 谢谢!我想知道为什么我传输的照片即使我已经将它们放在 Media/DCIM/100APPLE 中也没有显示。原来,还有一个删除 Media/PhotoData 文件夹的额外步骤。
                                  【解决方案29】:

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

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

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

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

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

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

                                  你已经完成了。

                                  【讨论】:

                                  • 图像以缩略图结束,分辨率为 552x668,这不是原始图像。相比之下,图像导入器会保留原始图像分辨率。
                                  【解决方案30】:

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

                                  1. 将其拖至模拟器,然后 Safari 打开 (或使用 Safari 浏览互联网中的图片)
                                  2. 按住图片
                                  3. 当弹出窗口出现时,选择 Save Image and enjoy ;)

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

                                  更新:这也适用于 iOS Simulator 6.1

                                  【讨论】:

                                  • 这不适用于 iOS 模拟器版本 4.2 (235)。我可以很好地完成步骤 1-3,但是当我转到“照片”时,我什么也看不到。
                                  • 当我没有打开任何应用程序时,这对我有用,当我打开一个应用程序时,它会执行相同的步骤,但实际上并没有工作。
                                  • 图像格式应该是.jpg而已..我认为它不适用于.png
                                  • 哇,这太容易了,感觉就像我在作弊!顺便说一句,正如@KarenAnne 所指出的,这适用于 iOS 6.0 模拟器,照片最终出现在 ~/Library/Application Support/iPhone Simulator/6.0/Media/DCIM/100APPLE 并且(它似乎)没有 .THM 文件。无论如何,很棒的提示!
                                  • 与 iOS7 完美配合。很好的答案。
                                  猜你喜欢
                                  • 1970-01-01
                                  • 2011-02-04
                                  • 2023-04-02
                                  • 2011-08-25
                                  • 2011-03-03
                                  • 2021-07-09
                                  • 2011-05-12
                                  • 2014-10-29
                                  • 2013-05-03
                                  相关资源
                                  最近更新 更多