带有'CGPDFDocumentRef == NULL'的NSInternalInconsistencyException

时间:2013-04-01 20:26:37

标签: iphone xcode cocoa-touch pdf newsstand-kit

我正在构建一个报亭通用应用程序。当我下载杂志问题并打开它时,它运行正常,但是当我删除它,重新下载并打开它时会引发以下情况:

2013-04-01 22:06:07.672 Magazine[14353:707] *** Assertion failure in -[ReaderContentPage initWithURL:page:password:], /Volumes/Files/Work in progress/el-beit/Magazine/Sources/ReaderContentPage.m:471
2013-04-01 22:06:07.680 Magazine[14353:707] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'CGPDFDocumentRef == NULL'
*** First throw call stack:
(0x35a4788f 0x3366b259 0x35a47789 0x34e3b3a3 0x84e59 0x85ba7 0x96d47 0x976ad 0x34e6d933 0x35a1ba33 0x35a1b699 0x35a1a26f 0x3599d4a5 0x3599d36d 0x33738439 0x33175cd5 0x6cf81 0x6cf08)
terminate called throwing an exception(lldb)

我删除了它的问题删除了该文件:

NKLibrary *nkLib = [NKLibrary sharedLibrary];
NKIssue *issue = [nkLib issueWithName:[kBaseFeatureID stringByAppendingString:((NSNumber *)self.listOfMonths[index]).stringValue]];
NSString *name = issue.name;
[nkLib removeIssue:issue];
[nkLib addIssueWithName:name date:[self.dateFormatter dateFromString:((NSNumber *)self.listOfMonths[index]).stringValue]];

我正在使用报亭,iOS6,Xcode 4.6,MKStoreKit以及该项目的模板:https://github.com/vfr/Reader

读者似乎正在尝试打开已删除的文件而不是我提供的文件。

任何帮助将不胜感激,提前谢谢。

3 个答案:

答案 0 :(得分:1)

我使用

解决了这个问题
[[ReaderDocument alloc] initWithFilePath:file password:nil];

而不是

[ReaderDocument withDocumentFilePath:file password:nil];

答案 1 :(得分:0)

我认为this帖可以解决您的问题。

我得到了同样的错误,但来自不同的工作流程。如果我下载文件并将其保存到文件系统,则会出现错误,但如果我将相同的文件添加到我的AppBundle,则会显示该文件没有任何问题。

我希望这会有所帮助,最终你对我的案子有任何错误的建议。我建议这是因为同样的原因。

答案 2 :(得分:0)

plist文件出现问题,删除PDF时没有自动删除。您必须确保所有PDF文件名都是唯一的,或者记得删除由Reader根据PDF文件名自动生成的plist文件。

<强> E.g。 / appid / Library / Application Support / yourPdfFileName.plist

每次删除PDF时都这样做。它应该可以解决你的问题。