首页 > 解决方案 > 通过 UIActivityViewController 将多个文件共享到 Dropbox

问题描述

我的应用程序使用 HealthKit 数据,以便从用户的锻炼数据创建一些报告并将它们导出到一个或多个文件(主要是 CSV,有时是 GPX 文件)。为了允许用户访问这些文件,我提出了标准UIActivityViewController,将文件数组作为项目传递,[URL]并且没有应用程序活动(是代码中的相关行,其中filesURLs 的数组)。

这一切都没有问题,但今天我的一个用户报告说,当导出多个文件并选择 Dropbox 作为共享文件的目标时,只保存第一个文件而忽略其他文件。有什么我可以做的,还是 Dropbox 必须解决的问题?据我了解,应该是后者,但我可能会遗漏一些东西。

如果它们相关,这里是 iOS 13 下共享屏幕的两个屏幕截图:在第一个中,只有一个 CSV 文件被共享,并且有一个保存到 Dropbox选项,在第二个中,我正在共享 2 个 CSV 和 1 个 GPX 文件,并且选项不再存在。在第二种情况下,仍然有Copy to Dropbox (hidden) 并且它只导致一个文件被保存,如果我使用Save to Files,所有 3 个文件都被正确保存。

标签: iosuiactivityviewcontroller

解决方案


马可,

没错,这是 Dropbox 问题,而不是您的应用导出问题。默认情况下,看起来 Dropbox 应用程序在从导出操作接收到一个文件时只接受一个文件。这是解决方法。原生 iOS 文件应用程序将接受多个导出文件,并且可以将 Dropbox 文件夹添加到文件应用程序,从而有效地将多个文件上传到 Dropbox。

将 Dropbox 添加到文件应用程序:

  1. 打开文件应用程序,在应用程序主屏幕上,单击右上角的三个点,然后选择编辑。

  2. 这将显示一个幻影 Dropbox 文件,旁边有一个切换开关,点击以将 Dropbox 添加到可用文件列表中。

将多个文件导出到 Dropbox:

  1. 完成第 1 步和第 2 步后,转到所需的导出应用程序,然后选择要导出的文件。

  2. 在导出选项列表中,选择 iOS 文件应用程序(不是 Dropbox),然后在文件应用程序中选择 Dropbox 文件。然后您可以选择要放置多个导出文件的 Dropbox 子文件夹。

这以与导出到 DropBox 相同的步骤数实现了预期目标。


推荐阅读