2012-03-16 63 views
0

我使用UIDocumentInteractionController在应用程序中预览文档。但是,有时文档显示正常,其他时候交互控制器显示消息“阅读文档时出错”。我知道这不是文档的问题,因为相同的文档有时会显示,有时不显示。UIDocumentInteractionController - 读取文档时出错

重新启动设备暂时解决了这个问题 - 所以它似乎是一个内存问题,但奇怪的是我没有得到任何内存警告。关于如何使这个工作可靠的任何想法吗?

注:

  1. 的documentinteractioncontroller预览解雇,当完成,以确保前预览发布 控制器不 保留在内存中
  2. 我使用QuickLook的控制器
有同样的问题

回答

1

经过多次测试后,此问题仅限于iPad 1.唯一的解决方法是重新启动。

0

由于您认为相关文档是正确的,并且您认为您的代码是正确的,所以您必须开始寻找其他因素。两个想到的是:

  • 应用程序的状态。是否有可能阻止预览工作的应用程序当前状态?你提到你没有得到任何内存警告,但是你看过预览成功和失败时应用使用了多少内存?

  • 文档的状态。是否有可能由于某种原因文件无法打开,例如文件已被打开?你能用其他方式打开文件吗?

+0

我还没有检查应用程序使用多少内存时,因为我认为应该使用太多的内存,我会得到一个内存警告。即使内存使用率很高,我也没有办法改进它,因为在呈现交互控制器预览之前,除了rootvc之外,该应用程序会取消所有视图。 (我已经检查过泄漏了)。至于第二个建议,我不认为它与文档的状态有关 - 原因是当在另一个应用程序中选择“在MyApp中打开”时会预览文档,这会导致iOS将其写入到沙盒目录中 – RunLoop 2012-03-19 05:35:59

0

您的应用程序可能在os完成将其写入沙盒目录之前尝试显示该文档。此操作的速度将取决于背景中的其他内容(其他应用程序,电子邮件下载,iOS检查更新等)。这也可以解释为什么重启设备似乎可以暂时解决问题。

要检查此问题,您可以检查此错误,然后在几秒钟后再次尝试打开文档。

没有特定的代码或日志,很难说更多。