4

我正在构建一个报亭通用应用程序。当我下载杂志并打开它时,它运行良好,但是当我删除它,重新下载并打开它时,它会抛出以下内容:

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]];

我正在使用 Newsstand、iOS6、Xcode 4.6、MKStoreKit 和这个项目的模板:https ://github.com/vfr/Reader

读者似乎试图打开已删除的文件,而不是我给它的文件。

任何帮助将不胜感激,在此先感谢。

4

3 回答 3

1

我通过使用解决了这个问题

[[ReaderDocument alloc] initWithFilePath:file password:nil];

代替

[ReaderDocument withDocumentFilePath:file password:nil];
于 2013-07-26T12:28:10.530 回答
0

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

例如 /appid/Library/Application Support/yourPdfFileName.plist

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

于 2013-06-16T13:58:32.217 回答
0

我认为这篇文章可以解决你的问题。

我得到同样的错误,但来自不同的工作流程。如果我下载一个文件并将其保存到文件系统中,则会出现错误,但如果我将相同的文件添加到我的 AppBundle 中,它会毫无问题地显示出来。

我希望这会有所帮助,最终您对我的情况有什么建议。我认为这是因为同样的原因。

于 2013-05-25T10:23:25.267 回答