如何使用 iOS UIPasteboard 将数据文件从 iOS Simulator 复制到 Mac Finder?

问题描述 投票:0回答:1

用户需要简单的方法从 iOS 模拟器导出数据文件以在其 Mac 文件系统上使用。

从 Mac Finder 拖放到 iOS 模拟器文件应用程序可以工作,但没有一个文件应用程序可以从 iOS 模拟器拖放到 Mac Finder。

共享工作表复制选项确实会将其放入剪贴板,但 Finder 应用程序不接受 UTType public.data 或 dyn.whatever 粘贴到其中。

可以使用 UIPasteboard.general.string 将 base64 文本共享到 TextEdit 或 Emacs 等,但这并不理想,因为它比正常情况大并且确实需要二进制数据文件格式。

还可以显示保存到iOS模拟器的数据文件的url,并使用Mac终端从模拟器的目录空间复制到桌面等。

但是真的有一种快速、方便、简单的方法吗?

ios macos simulator finder uipasteboard
1个回答
0
投票

我找到了一种轻松地将数据文件从 iOS Simulator 文件系统传输到 Mac Finder 文件系统的方法!

首先,将数据文件写入iOS本地文件系统:

let fileUrl = URL.documentsDirectory.appending(component: "your-file.name")
try fileData.write(to: fileUrl, options: .atomic)

然后,使用 fileUrl 字符串的数据版本并将其输入到 UIPasteboard.general 中:

let fileUrlStrData = fileUrl.absoluteString.data(using: .utf8)!
UIPasteboard.general.setData(fileUrlStrData, forPasteboardType: UTType.fileURL.identifier)

现在,在 Mac 桌面上打开 Finder 应用程序并执行 CMD+V 粘贴:您的文件神奇地出现在 Mac 文件系统上! w007!

© www.soinside.com 2019 - 2024. All rights reserved.