3

我测试了一个当前在 iOS8 上使用 VFR-Reader-Core 的应用程序,当我尝试从中打开 PDF 时完全崩溃。我是唯一一个有这个问题的人吗?知道我可以在哪里搜索以纠正这个问题吗?这是崩溃报告

谢谢

4

3 回答 3

8

在 iOS 8 中,应用容器的 Te 文件系统布局发生了变化。应用程序及其内容不再存储在一个根目录中。

来自 iOS 8 发行说明:

应用程序容器的文件系统布局在磁盘上发生了变化。与其依赖硬编码的目录结构,不如使用类的 NSSearchPathForDirectoriesInDomains函数或 URLForDirectory:inDomain:appropriateForURL:create:error:方法 NSFileManager。请参阅文件系统编程指南中的访问文件和目录

我对这个问题进行了简要研究,我可以看到 VFRReader 没有遵循 Apple 的上述建议。

我打算在 Github 页面上提出一个问题,但是问题跟踪似乎已被禁用。如果我今天有一些额外的时间,我会考虑解决这个问题并提出拉取请求。

编辑:查看我的 fork 以获取适用于 iOS8 的版本:https
://github.com/liamnichols/Reader 我还在原始仓库提交了拉取请求:https ://github.com/vfr/Reader/拉/54

于 2014-09-01T11:09:05.717 回答
2

从 vfreader 的 ReaderDocument.m 中,作者表示

“同样, // 从 iOS 8 开始,应用程序的 ~/Documents 目录不再存在于 // 它的包中,任何捆绑的 PDF 文件都必须复制到应用程序的 // ~/Documents 目录中,然后才能访问它们。 "

希望能帮助到你。

于 2014-10-05T19:22:35.650 回答
1

终于被这件事难住了:

@synchronized(nil)  {
    CGContextDrawPDFPage(context, _PDFPageRef);
}

它现在可以在 iOS8 中使用。

编辑:对代码进行了一些更改,现在即使这样也不能帮助我避免这次崩溃。但是现在,如果我在设备上运行,那么它可以工作。(在模拟器上崩溃)。

内存泄漏,有时是好的方法,有时是错误的方法:D

于 2014-12-02T05:46:54.213 回答