1

我在我的应用程序中使用文档包(通过 FileWrapper API),并且我正在使用 UIDocumentBrowserViewController 类进行文档管理。文档包基本上代表(文本)文件和文件夹的层次结构。当文档存储在设备或 iCloud 中时,一切正常。但是,当我尝试在远程位置创建文档时,情况就不同了,访问权限由第三方文件提供商提供,例如 Google Drive、Microsoft One Drive 或 Dropbox。每次我尝试在任何这些位置创建文档时,我都会调用 importHandler(fileURL, .move):

  1. Dropbox:失败并出现一般错误消息:“操作无法完成。(DBFileProviderErrorDomain 错误 1。)”;

  2. Google Drive:失败并显示略有不同的消息:“操作无法完成。(com.apple.DocumentManager 错误 1。)”

  3. MS OneDrive:似乎成功了,但在尝试打开新创建的文档时,应用程序会收到一个 OS_dispatch_data 对象,而不是它所期望的 FileWrapper 对象。

我不确定发生了什么。我唯一能想到的是文档包仅在 Apple 文件系统上受支持。

非常感谢任何建议。谢谢你。

4

1 回答 1

2

据我所知(并确认您的怀疑),大多数非 iCloud 云存储提供商(通过 a 访问)的文件提供商扩展UIDocumentBrowserViewController不能很好地处理包。 例如,对象以包格式存储它们的数据存储,而我尝试使用通常以失败告终的UIManagedDocument方式创建/保存/移动它们到非 iCloud 云存储的经验。UIDocumentBrowserViewController请参阅我向 Apple 提交的错误报告的 OpenRadar 副本,http ://openradar.appspot.com/6905951 。

于 2019-08-07T17:33:07.587 回答