【问题标题】:UIDocumentBrowserViewController emptyUIDocumentBrowserViewController 为空
【发布时间】:2017-08-03 09:19:47
【问题描述】:

我正在使用UIDocumentBrowserViewController 构建一个应用程序。一切正常(位置和文件出现,可创建,可选择)

突然间,文档浏览器显示为空。没有地点,没有文件……

在今天之前,模拟器中的浏览器是空的,但在设备上运行良好。现在,他的问题“迁移”到了我的 iPad 上。我认为这是一个测试版问题,但如果有其他遭受相同问题困扰的人设法找到修复/解决方法,我将不胜感激?

试过了……

  • 干净的构建
  • 删除模块缓存/派生数据
  • 删除/重新安装应用程序
  • 重启 Xcode
  • 重新启动 iPad
  • 重新安装 Xcode
  • 重新启动 Mac

我开始认为我在想象它在过去有效!

Xcode 9.0 beta 4 (9M189t)


更新

我刚刚发现使用

let dbvc = UIDocumentBrowserViewController(forOpeningFilesWithContentTypes:[kUTTypePlainText as String])

而不是我的自定义 UTI 作品。然后再次恢复到我自己的 UTI 仍然有效。

【问题讨论】:

    标签: ios11 xcode9-beta uidocumentbrowservc


    【解决方案1】:

    我有同样的问题。我发现的解决方法是不要从生成的 info.plist 中删除“图像”字典。我对 info.plist 进行了更改,并在某些时候将其替换为 plist 中没有“图像”的另一个。这是您需要的部分:

    <dict>
            <key>CFBundleTypeIconFiles</key>
            <array/>
            <key>CFBundleTypeName</key>
            <string>Images</string>
            <key>CFBundleTypeRole</key>
            <string>Viewer</string>
            <key>LSHandlerRank</key>
            <string>Alternate</string>
            <key>LSItemContentTypes</key>
            <array>
                <string>public.image</string>
            </array>
        </dict>
    

    将其放回(或不取出)消除了问题。希望这会有所帮助。

    【讨论】:

    • 我早些时候遇到过这个问题……我最初遇到的很多问题都与自定义 UTI 有关。我以为我已经解决了所有问题,但看起来仍然是个问题。
    【解决方案2】:

    在向 info.plist 添加支持的文档类型列表中缺少的一个参数之前,我遇到了这个问题:

    文档类型 > 项目 > 处理程序等级(字符串)备用

    【讨论】:

      【解决方案3】:

      应用的文档目录中没有文件吗?

      如果应用的文档目录为空,则在 UIDocumentBrowserViewController 中不可见。

      试试

       override func viewDidLoad() {
          super.viewDidLoad()
      
          let fm = FileManager.default
          let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first!
      
          let filePath = documentsPath + "/myfile.txt"
          if !fm.fileExists(atPath: filePath) {
              fm.createFile(atPath: filePath, contents: nil, attributes: [:])
          }
      }
      

      【讨论】:

      • 谢谢。但请重新阅读问题。无论如何,我认为这只是一个测试版问题
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-02
      • 2020-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-31
      相关资源
      最近更新 更多