【问题标题】:UIDocument, FileWrapper & Third-Party File ProvidersUIDocument、FileWrapper 和第三方文件提供程序
【发布时间】:2018-12-04 17:10:53
【问题描述】:

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

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

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

  3. MS OneDrive:似乎成功,但在尝试打开新的 创建的文档应用程序被交给了一个 OS_dispatch_data 对象 一个 FileWrapper 对象,这是它所期望的。

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

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

【问题讨论】:

    标签: ios swift nsfilewrapper uidocumentbrowservc fileprovider-extension


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2021-11-15
      • 1970-01-01
      • 2023-01-22
      • 2012-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多