我正在开发一个应用程序,我在其中显示用户在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卡中的应用来执行应用程序...没有崩溃
我尚未在设备上查看此内容。有人可以确认设备上的崩溃吗?
此外,谷歌没有回答这个问题。
提前感谢您的回答。 任何人都可以对此有所了解吗?
答案 0 :(得分:11)
我遇到了完全相同的问题。
作为解决方法,您可以禁用或删除“所有异常”断点。这可能会使调试变得更加困难,但它并不像必须一直重新启动应用程序那么糟糕。
这是导致问题的断点。我很久以前就把它设置好了,我忘了它就在那里
答案 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视图切换到另一个视图超过三次导致崩溃。
原来我在导航控制器中嵌入我正在切换的视图会阻止崩溃。