0

我的应用程序适用于图片和注释文件。注释文件只是XML包含每张图片信息的文件。这样,用户可以拥有例如 100 张图片 + 100 个注释文件的数据集。

在某些时候,我希望用户能够将这些文件导出到云服务,最好是 iCloud 或 Google-Drive,以便它们可用于进一步处理/工作。

文件应用程序看起来最适合这项任务。用户已经在 Files App 中连接了他们的云提供商,我几乎不需要担心任何事情。

 func presentLocationPicker(forExportingFiles urls: [URL]) {
        let documentPicker = UIDocumentPickerViewController(urls: urls, in: .exportToService)
        self.present(documentPicker, animated: true)
 }

我以为这很容易,但现实却大不相同。Google Drive 与 Files App 的集成似乎很弱。我在使用 Google Drive 时遇到以下问题:

Blocker 1 - 选择我要导出文件的 google 驱动器文件夹时,我收到以下系统警报:The Operation Can't Be Completed. Couldn't communicate with the helper application 在此处输入图像描述

Blocker 2 - 在显示UIDocumentPickerViewController云提供商列表时,有时会显示为灰色。

在此处输入图像描述

Blocker 3 - 如果直接从Files App我尝试将文件夹(例如 100 个项目)移动到 Google Drive,它也不起作用。只复制了一些文件,而不是原始文件夹结构。只是一团糟。

所以我的第一个问题是:我应该做一些不同的事情UIDocumentPickerViewController来避免Blocker 1吗?

第二个问题是:有没有其他方法可以将多个文件(超过 100 个)导出到用户的 Google Drive 帐户?我没主意了。

4

1 回答 1

0

这是来自 Google Drive API 页面,但我怀疑 SDK 也受到同样的限制。

https://developers.google.com/drive/api/v3/manage-uploads

  • 简单上传:uploadType=media。用于快速传输小文件(5 MB 或更小)。要执行简单上传,请参阅执行简单上传。
  • 分段上传:uploadType=multipart。用于快速传输小文件(5 MB 或更小)和描述文件的元数据,所有这些都在一个请求中完成。要执行分段上传,请参阅执行分段上传。

强调我的。

您可能希望分解您的请求以适应该限制。

于 2019-02-12T20:48:08.417 回答