gpt4 book ai didi

ios - 为什么本地 PDF 无法仅在一台设备上绘制 UIDocumentInteractionController?

转载 作者:行者123 更新时间:2023-12-01 16:54:06 25 4
gpt4 key购买 nike

我们有一个应用程序,其捆绑包中包含一堆 PDF。当用户点击按钮或选择表格单元格时,我们希望在 UIDocumentInteractionController 中显示相应的 PDF。

这在我的机器和大多数测试机器上都很好用,但是我有一个用户在他的 iPhone 上看不到任何预览。他给我发了一个屏幕截图; Controller 已将其 View 推送到导航堆栈上,并且在导航栏中有一个有效的“操作”菜单,在正确的文件名旁边。但是应该显示 PDF 本身的大空间只是深灰色。

那是在运行 6.0.1 的新 iPhone 上;在他的 iPad 上,同样运行 6.0.1,它运行良好;在我运行 5.0.1 的 iPhone 4S 上,它运行良好。 “工作正常”意味着它推送完全相同的周围细节,包括文件名和操作菜单,但不是一个大的灰色空间,而是 PDF 的工作预览。

我的 View Controller 层次结构由一个选项卡 Controller 组成,在每个选项卡中,一个导航 Controller 。同样的问题存在于导航堆栈深处的几个级别的 TableView 中,或者来自导航堆栈顶层的 HTML View 中。呈现 Controller 的代码如下所示:

        self.DIC = [UIDocumentInteractionController interactionControllerWithURL:url];
self.DIC.delegate = self;
[self.DIC presentPreviewAnimated:YES];

唯一实现的委托(delegate)方法是:
- (UIViewController *) documentInteractionControllerViewControllerForPreview: (UIDocumentInteractionController *) controller {
if (curTabViewController) return curTabViewController;
return tabCtrl;
}

这将返回我在 tabBarController:didSelectViewController 中设置的当前导航 View Controller 。我可以说这是有效的,因为 DIC 已将其 View 推送到导航堆栈上,而不是模态弹出。

所以。知道为什么 UIDocumentInteractionController 无法在某些设备上绘制预览而不是其他设备吗?

更新:我已经成功地设置了这个设备进行调试。日志文件中出现的唯一线索是这个错误:
Cannot find preview item for loaded proxy: <QLPreviewItemProxy: 0x1fd67820> - 
file://localhost/var/mobile/Applications/22DDE4EB-6FB6-4364-87D6-E3680E1E1A9B
/agilentJAL.app/BuiltInFiles/help/Getting_Started.pdf

我搜索了互联网,发现 this question ,但它似乎不适用于我的情况。我已经仔细检查了路径,它看起来是正确的(并且 DIC 菜单可以成功地通过电子邮件发送文档,在 DropBox 中打开它等)知道还有什么可能导致这个错误吗?

最佳答案

尝试访问导航 Controller 而不是标签栏。这为我解决了这个问题。在 documentInteractionControllerViewControllerForPreview 中:​

if let navigationController = self.navigationController {
return navigationController
} else {
return self
}

关于ios - 为什么本地 PDF 无法仅在一台设备上绘制 UIDocumentInteractionController?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13400615/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com