【问题标题】:App crash - "DiskImageCache: Could not resolve the absolute path of the old directory."应用程序崩溃 - “DiskImageCache:无法解析旧目录的绝对路径。”
【发布时间】:2012-05-13 22:35:50
【问题描述】:

我正在开发一个应用程序,我在其中显示用户在 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,没有它,但没有使用 Instruments 的应用程序崩溃。

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

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

在其他情况下,如果我通过单击 sim 中的应用程序来执行应用程序...不会崩溃

我还没有在设备上检查这个。有人可以确认设备上的崩溃吗?

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

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

【问题讨论】:

  • 您找到解决方案了吗?这刚刚开始发生在我身上,我不喜欢简单地忽略休息。
  • 没有。我仍在四处寻找答案。如果你找到了,请告诉我。
  • 我现在开始在 iOS 8 中遇到问题

标签: objective-c ipad ios5 ios-simulator


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    从设备中删除应用程序帮助我解决了这个问题。 也许一开始您也应该尝试“产品 > 清洁”以确保所有资源都将复制到您的设备。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

        事实证明,将我切换到的视图嵌入到导航控制器中可以阻止崩溃。

        【讨论】:

          【解决方案5】:

          我可以用这段代码修复我的问题:

          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 然后将其加载到我的视图中

          【讨论】:

          • 很好的答案,这适用于我的问题。
          【解决方案6】:

          我也遇到了同样的问题。

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

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

          【讨论】:

            【解决方案7】:

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

            【讨论】:

            • 我实际上是在单页 PDF 中得到它。对我来说,一切都很好,当我尝试退出屏幕时,我得到了错误断点。
            • 我遇到了我认为可能是类似(或至少相关)的问题。我设置了几个选项卡,每个选项卡都显示 PDF 的选择。每当我第四次单击选项卡时,无论我是否查看过 PDF,我的应用都会使模拟器崩溃。
            【解决方案8】:

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

            【讨论】:

            • 酷!!!看来我在这里并不孤单:)我也在尝试,并将在这里更新更多......
            猜你喜欢
            • 1970-01-01
            • 2015-08-05
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-02-22
            • 2012-07-17
            • 1970-01-01
            • 2020-06-05
            相关资源
            最近更新 更多