由于在iOS 13/Xcode 11模拟器上,我尝试从Finder中拖入文件来添加,但却总是出现错误,因此给出的解决方案都不适用于我,所以我找到了一个变通方法。
这需要一开始进行一些设置,但您将从Finder中免费访问实际文件夹。
当我将文件拖到模拟器中(假设没有其他应用程序处理该文件),Files应用程序将会打开,但保存时会出现“无效参数错误”。
解决方案:
模拟器中名为“On my phone”的文件夹被称为“File Provider Storage”。目标是在Finder中找到它。
完整路径:
username/Library/Developer/CoreSimulator/Devices/device_hash_folder/data/Containers/Shared/AppGroup/hash_folder/File Provider Storage/
(注意:
截至当前版本(13.1),模拟器无法选择文件。您可以看到文件,但单击时不会发生任何事情。)
以下是步骤:
从这里有两种方法
简短方法:
(在Finder中)
3a. 导航到:username/Library/Developer/Core Simulator/Devices.
3b. 搜索您创建的文件夹。它应该在“文件提供者存储”中。 这是“我的 iPhone”文件夹。
如果由于任何原因搜索未找到:
3a. 运行应用并打印(来自Xcode)documentDirectory
的路径(使用FileManager
)。
3b. 在Finder中打开它并导航回“容器文件夹”。
3c. 导航到Shared/AppGroup.
3d. 您要查找Shared/AppGroup/some_hashFolder/File Provider Storage/your_folder.
3e. 要么查找修改日期(已创建的文件夹)或搜索文件夹名称。
find /Users/xxxx/Library/Developer/CoreSimulator/Devices/ -name "MyNewUploadsFolder"
来查找文件夹路径。 - Arvind K.更新的答案:
由于Xcode 11 / SDK 13,无论什么原因拖动文件到模拟器上都不起作用。 您可以通过终端使用xcrun simctl addmedia <device> <path>
发送媒体文件(jpg,png,mov等)。
因此,这个命令将不加任何问题地将图像直接添加到照片应用程序中:
xcrun simctl addmedia booted pic.001.jpg <== booted is the current running simulator.
在我的情况下,我想发送根证书以允许连接到本地服务器,但使用addmedia
无法实现。解决方法是强制模拟器使用Safari导航到.cer文件的完整macOS本地路径。
xcrun simctl openurl booted 'file:///Users/my.user/Desktop/my.cer'
事实证明,在Safari中启动并在地址栏中键入file:///Users/my.user/Desktop/my.cer
也可以使用。对于PDF和其他类型文件可以使用此方法。
原始回答:
在XCode 9模拟器中,如果是图像/视频,只需将其拖到模拟器上。它会将其添加到照片应用程序中。其他类型的文件似乎会随机打开文件浏览器并通常失败:P。
xcrun
可以胜任这项工作。 - joexcrun simctl openurl booted 'file:///Users/myuser/Desktop/file.csv'
- Vitor Braga这里可以找到最简单的解决方案:https://apple.stackexchange.com/a/299565/140768
简短总结: 你需要一个能够处理/存储“文档”的应用程序。建议如链接的帖子所示,只需创建一个空的“基于文档”的应用程序并运行一次。
您可以将文件上传到模拟器登录的帐户的iCloud Drive中,并通过浏览/ iCloud驱动器选项进入文件应用程序或文件上传对话框来访问它们。
将文件从Filer拖放到模拟器上,在macOS Catalina(我目前在10.15.5上看到此问题)存在问题。 显然,如果源文件在“受限制”的目录中(例如Downloads),它将无法传输。
将文件放入$ HOME目录中,然后拖动它(或使用共享按钮共享到模拟器)。 参见主题: https://forums.developer.apple.com/thread/126307