ios - 通过 UIActivityViewController 将多个文件共享到 Dropbox
问题描述
我的应用程序使用 HealthKit 数据,以便从用户的锻炼数据创建一些报告并将它们导出到一个或多个文件(主要是 CSV,有时是 GPX 文件)。为了允许用户访问这些文件,我提出了标准UIActivityViewController
,将文件数组作为项目传递,[URL]
并且没有应用程序活动(这是代码中的相关行,其中files
是URL
s 的数组)。
这一切都没有问题,但今天我的一个用户报告说,当导出多个文件并选择 Dropbox 作为共享文件的目标时,只保存第一个文件而忽略其他文件。有什么我可以做的,还是 Dropbox 必须解决的问题?据我了解,应该是后者,但我可能会遗漏一些东西。
如果它们相关,这里是 iOS 13 下共享屏幕的两个屏幕截图:在第一个中,只有一个 CSV 文件被共享,并且有一个保存到 Dropbox选项,在第二个中,我正在共享 2 个 CSV 和 1 个 GPX 文件,并且选项不再存在。在第二种情况下,仍然有Copy to Dropbox (hidden) 并且它只导致一个文件被保存,如果我使用Save to Files,所有 3 个文件都被正确保存。
解决方案
马可,
没错,这是 Dropbox 问题,而不是您的应用导出问题。默认情况下,看起来 Dropbox 应用程序在从导出操作接收到一个文件时只接受一个文件。这是解决方法。原生 iOS 文件应用程序将接受多个导出文件,并且可以将 Dropbox 文件夹添加到文件应用程序,从而有效地将多个文件上传到 Dropbox。
将 Dropbox 添加到文件应用程序:
打开文件应用程序,在应用程序主屏幕上,单击右上角的三个点,然后选择编辑。
这将显示一个幻影 Dropbox 文件,旁边有一个切换开关,点击以将 Dropbox 添加到可用文件列表中。
将多个文件导出到 Dropbox:
完成第 1 步和第 2 步后,转到所需的导出应用程序,然后选择要导出的文件。
在导出选项列表中,选择 iOS 文件应用程序(不是 Dropbox),然后在文件应用程序中选择 Dropbox 文件。然后您可以选择要放置多个导出文件的 Dropbox 子文件夹。
这以与导出到 DropBox 相同的步骤数实现了预期目标。
推荐阅读
- jquery - highchart没有显示在移动屏幕的中心
- ruby-on-rails - 如何按月过滤rails模型
- c# - Visual Studio 评论中的基本文本格式?
- ios - 无法将类型“ResultElement”的值转换为类型“_?” 在胁迫下
- php - 我正在尝试在在线主机上运行我的网站,但我不断收到错误消息
- sql-server - 如何将 SQL Server 2014 数据库备份恢复到 SQL Server 2016?
- .net - 有什么方法可以在命令行中检查 NuGet 包是否支持 .Net 标准?
- java - Chrome 选项 - Selenium 3.10 - NoSuchMethodError: com.google.common.collect.ImmutableList.toImmutableList()
- node.js - Couchbase Sync 网关 - 文件上传为附件
- ios - 如何在每 N 个单词之后将子字符串作为分隔符添加到段落