iOS - 将(100+)个文件导出到Google云端硬盘

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

我的应用程序使用图片和注释文件。注释文件只是包含每张图片信息的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云端硬盘与文件应用的集成似乎非常薄弱。我对Google云端硬盘存在以下问题:

拦截器1 - 当我选择谷歌驱动器文件夹我要导出文件时,我收到以下系统警报:The Operation Can't Be Completed. Couldn't communicate with the helper application enter image description here

Blocker 2 - 在呈现UIDocumentPickerViewController时,云提供商列表有时会变灰。

enter image description here

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

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

第二个问题是:是否有其他方法可以将多个文件(超过100个)导出到用户的Google云端硬盘帐户?我没有想法。

ios google-drive-sdk files-app
1个回答
0
投票

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

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

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

强调我的。

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

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