我有一些使用QLPreviewController显示简单PDF的简单代码。它在模拟器和一个非常简单的应用程序中运行良好。
在应用程序中我实际上希望它可以工作,它在设备上失败了。设备显示预览视图,但代替PDF,它只显示文本“simple.pdf,可移植文档格式(PDF)”和文件大小(本例中为“301KB”)。
有趣的是,日志发出“无法加载quicklookd并显示错误:操作无法完成。(Cocoa error 4097。)”
我试过了:
排除了:
我认为heirarchy不是非常复杂;面向SWRevealViewController的UINavigationController。当PDF为Quicklook时,无论我在导航层次结构中的浅度或深度。
我没有想法,希望有人认出错误。
编辑:app在iOS 6设备上正常运行。在6.1,7.0和7.1的模拟器中工作。在7.0设备上失败,唉!
答案 0 :(得分:2)
这是64位设备上的问题。您可以在64位iOS 7模拟器中复制它。这里报告了与其他框架相同的错误:
Cannot show modal ViewController in iOS7
将构建设置中的体系结构设置更新为'标准体系结构(包括64位)(armv7,armv7s,arm64)'又名$(ARCHS_STANDARD_INCLUDING_64_BIT)将解决该问题。当然,如果您拥有所有第三方库的兼容版本。
出于原因,只有苹果工程师才知道,删除不同的外观委托更改也至少提供了通过iOS 7.0.4的解决方法。在我的情况下,导致问题的外观变化是
[[UITableView外观] setSeparatorInset:UIEdgeInsetsZero];
答案 1 :(得分:1)
最后将它缩小到这一行,在应用程序启动期间提前调用。
奇怪的是,将这一行单独添加到一个简单的应用程序不会导致失败,所以还有其他一些我无法找到的额外交互。
可悲的是没有正确的解释,但至少我现在可以继续前进了。希望这个答案可以节省一些时间!
// We don't want Back button text, move it off-screen
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60.f) forBarMetrics:UIBarMetricsDefault];