QLPreviewController不显示文档

时间:2019-09-26 14:19:31

标签: ios swift xcode

我正在尝试让QLPreviewController显示pdf文档。将文档保存到设备后,将记录文件位置字符串(在documents文件夹内)。稍后,我使用URL(fileURLWithPath:location)从该文件位置字符串创建URL,并将其用作QLPreviewController数据源的输入。到现在为止,这种方法一直有效,并且快速外观可以正确显示在文档中。

不幸的是,这不再起作用。我今天早上更新到Xcode 11(swift 5.1),现在我的QLPreview控制器没有显示该文档。它仍然显示,但是带有灰色背景,显示“文档名称”和“ pdf文档”。如果单击共享按钮并进行打印,则打印预览会正确显示我的文件(并且推送打印确实会完整打印正确的文件),因此我知道该文件在那里并且可读。由于某种原因,它不会显示在QLPreviewController中。 (此错误也报告为on the apple developer forums,但是除了尝试使用我已经做过的非模拟器设备外,没有人提出任何修复建议。)

来自Xcode的调试文本如下:

Could not create FPSandboxingURLWrapper with url: file:///Users/username/Library/Developer/CoreSimulator/Devices/F69CC8ED-C164-4E36-946F-E675C7FC7365/data/Containers/Data/Application/739F1371-1A79-41B1-8FF5-E8ACC0FEA976/Documents/mydoc.pdf, error: Error Domain=NSPOSIXErrorDomain Code=22 "couldn't issue sandbox extension com.apple.app-sandbox.read for '/Users/username/Library/Developer/CoreSimulator/Devices/F69CC8ED-C164-4E36-946F-E675C7FC7365/data/Containers/Data/Application/739F1371-1A79-41B1-8FF5-E8ACC0FEA976/Documents/mydoc.pdf': Invalid argument" UserInfo={NSDescription=couldn't issue sandbox extension com.apple.app-sandbox.read for '/Users/username/Library/Developer/CoreSimulator/Devices/F69CC8ED-C164-4E36-946F-E675C7FC7365/data/Containers/Data/Application/739F1371-1A79-41B1-8FF5-E8ACC0FEA976/Documents/mydoc.pdf': Invalid argument}

可能还有其他需要注意的地方:在之前的代码迭代中,我收到了类似的错误消息,然后我发现问题是我从字符串而不是fileurlfrompath传递了url,并更改为解决了我的问题。我怀疑这只是一个不同的问题,但是错误消息相似,所以我以为id会提到它。任何建议将不胜感激。

0 个答案:

没有答案