我的应用程序使用图片和注释文件。注释文件只是包含每张图片信息的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
Blocker 2 - 在呈现UIDocumentPickerViewController
时,云提供商列表有时会变灰。
拦截器3 - 如果直接从Files App
我尝试将文件夹(例如100个项目)移动到Google云端硬盘,它也不起作用。仅复制某些文件,而不复制原始文件夹结构。只是一团糟。
所以我的第一个问题是:我是否应该与UIDocumentPickerViewController
做一些不同的事情以避免Blocker 1?
第二个问题是:是否有其他方法可以将多个文件(超过100个)导出到用户的Google云端硬盘帐户?我没有想法。
这是来自Google Drive API页面,但我怀疑SDK受到了同样的限制。
https://developers.google.com/drive/api/v3/manage-uploads
强调我的。
您可能希望分解您的请求以适应该限制。