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


当前回答

对于iOS 8.0,答案已经过时了。我在以下路径找到了媒体资源: ~ /图书馆/开发/ CoreSimulator /设备/[的DeviceID] /数据/媒体/ DCIM / 100苹果

其他回答

使用Xcode 6+ (iOS Simulator 8.1及以上版本)附带的新iOS模拟器,这要容易得多。现在你所要做的就是把一张或多张照片拖到iOS模拟器窗口上,然后不是打开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

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

在OS X Catalina和Xcode 11中,你必须做不同的事情。

首先你必须启动模拟器。如果你想复制,说一张照片到多个模拟设备。把它们都启动。然后右键单击一个单一(多个图像将失败。只做一个文件。)

共享->模拟器

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

它将发送一个到许多,但不是许多到许多选定的照片。

我希望这能帮助到大家。Xcode和OS X的上一个版本支持拖放,但OS X Catalina和Xcode 11不支持拖放。

虽然这是在方向,但目前是行不通的。

对我来说有用的是首先将我的图像导入到OS X的iPhoto中,然后从我的OS X iPhoto中拖放它们,然后放入模拟器中。它将出现拖放照片到模拟器目前只能从OS X iPhoto工作。: - (

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