3

我正在使用UIDocumentBrowserViewController. 一切正常(位置和文件出现,可创建,可选择)

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

在此处输入图像描述

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

试过了……</p>

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

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

Xcode 9.0 测试版 4 (9M189t)


更新

我刚刚发现使用

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

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

4

3 回答 3

3

我遇到过同样的问题。我发现的解决方法是不要从生成的 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>

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

于 2017-08-03T12:46:14.873 回答
1

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

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

在此处输入图像描述

于 2018-05-11T18:01:21.313 回答
0

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

如果应用的文档目录为空,则在 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: [:])
    }
}
于 2019-01-11T13:13:01.857 回答