我的应用程序可处理图片和注释文件。注释文件仅仅是XML
文件,其中包含每张图片的信息。这样,用户可以拥有一个包含100张图片+ 100个批注文件的数据集。
在某个时候,我希望用户能够将这些文件导出到云服务,最好是iCloud或Google-Drive,以便它们可以用于进一步的处理/工作。
Files App看起来是完成此任务的最佳人选。用户已经在Files App中连接了他们的云提供商,而我几乎不必担心任何事情。
func presentLocationPicker(forExportingFiles urls: [URL]) {
let documentPicker = UIDocumentPickerViewController(urls: urls, in: .exportToService)
self.present(documentPicker, animated: true)
}
我认为这很容易,但是现实却大不相同。 Google Drive与Files App的集成似乎非常薄弱。 Google云端硬盘存在以下问题:
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云端硬盘,那么它也不起作用。仅复制一些文件,而不复制原始文件夹结构。只是一团糟。
所以我的第一个问题是:我应该对UIDocumentPickerViewController
做一些不同的事情来避免 Blocker 1 ?
第二个问题是:还有其他方法可以将多个文件(超过100个)导出到用户的Google云端硬盘帐户?我没主意。
答案 0 :(得分:0)
这来自Google Drive API页面,但我怀疑该SDK受到相同的限制。
https://developers.google.com/drive/api/v3/manage-uploads
重点增强。
您可能希望分拆您的请求以符合该限制。