应用程序崩溃 - “DiskImageCache:无法解析旧目录的绝对路径。”

时间:2012-05-04 11:24:46

标签: objective-c ipad ios5 ios-simulator

我正在开发一个应用程序,我在其中显示用户在PDF文件中输入的数据。 PDF文件也是动态创建的。

一切都很好。

我已经实现了QuickLook框架来显示pdf文件。当我调用QL框架时,PDF文件ID显示得非常好但是当回到调用屏幕时,我的应用程序崩溃而没有任何崩溃日志或内存警告。

我用以下代码调用QL:

[[self navigationController] presentModalViewController:qlPreviewer animated:YES];

创建的日志

DiskImageCache: Could not resolve the absolute path of the old directory.
[Switching to process 3070 thread 0x17603]
[Switching to process 3070 thread 0x15503]

这很有意思..... 当我在Instruments中运行相同的程序来检查泄漏和内存管理时,我只能在滚动PDF文档并查看所有页面时发现泄漏。 但是,有趣的是,我看不到应用程序崩溃。 此外,我确实尝试过使用ZombieEnabled = YES而没有它,但没有应用程序崩溃与仪器。

我对如何解释这一点毫无头绪,并且一直在尝试不同的方法来解决这个问题。另外,我尝试过UIWebView但结果是一样的。

我再次尝试检查问题并找到了一些有趣的东西。 当我直接从X-Code执行代码时 - 如上所述,我得到了崩溃。

在其他情况下,如果我通过点击SIM卡中的应用来执行应用程序...没有崩溃

我尚未在设备上查看此内容。有人可以确认设备上的崩溃吗?

此外,谷歌没有回答这个问题。

提前感谢您的回答。 任何人都可以对此有所了解吗?

8 个答案:

答案 0 :(得分:11)

我遇到了完全相同的问题。

作为解决方法,您可以禁用或删除“所有异常”断点。这可能会使调试变得更加困难,但它并不像必须一直重新启动应用程序那么糟糕。

The breakpoint causing the issue

这是导致问题的断点。我很久以前就把它设置好了,我忘了它就在那里

答案 1 :(得分:5)

从设备删除应用程序帮助我解决了这个问题。 也许最初你应该尝试"产品>清洁"确保将所有资源复制到您的设备。

答案 2 :(得分:3)

我能够使用此代码修复我的问题:

FirstViewController.h

NSURLRequest* reqObj;
@property(nonatomic, retain) NSURLRequest* reqObj;

FirstViewController.m

reqObj = [NSURLRequest requestWithUrl:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:60.0];

NSURLConnection* conn = [[NSURLConnection alloc] initWithRequest:reqObj delegate:self];

然后在此行之后将其加载到我的视图中,而不是等待connectionDidFinishLoading然后将其加载到我的视图中

答案 3 :(得分:2)

有趣:这也是我的应用程序开始的。检查泄漏时没有错误,但在sim中运行应用程序实际上是导致断点,而不是崩溃。我可以点击继续,应用程序继续运行,没问题 我的问题也与PDF有关,但我只是使用网页视图来显示应用包中的PDF。我已经检查了dealloc中的所有内容,这一切都很好,这可能是iOS 5.1错误。随着我的了解,我会更新。

答案 4 :(得分:1)

@JimP,这不是iOS 5.1错误。在iOS5.0上,它刚刚开始发生在我的应用程序中。它似乎只影响超过一页长度的pdf,并且似乎在滚动到文档末尾时最常触发(尽管有时也更早)。它似乎也经常在第二次加载时发生。

答案 5 :(得分:1)

当您在代码中删除对象引用但在xib中引用它时,可能会发生这种情况。删除不再需要的插座。

答案 6 :(得分:0)

刚遇到这个问题,我在转换到iOS 8的应用程序中加载pdf文件。此应用程序自第一部iPhone以来一直运行良好。我刚刚删除了All Exceptions断点来解决它。

答案 7 :(得分:-1)

我不知道是否是同样的问题,但是我遇到了一个问题,即通过标签栏控制器从PDF视图切换到另一个视图超过三次导致崩溃。

原来我在导航控制器中嵌入我正在切换的视图会阻止崩溃。