アプリでPDFを表示するためのいくつかのより良い代替案を調べているときに、vfrリーダーフレームワークを見つけました。私の文脈では、PDFをダウンロードする必要があります。まだアプリバンドルには含まれていません。埋め込みpdfでvfrフレームワークを使用するのは簡単でしたが、ファイルに書き込んだダウンロードデータで動作させてから、そのパスを使用してReaderDocumentを初期化することにこれまで困惑していました。同じファイルをUIWebViewに問題なくロードできるので、それがデータだとは思いません。コードは次のとおりです。
NSString *fullPathToPDF = [[[self appDelegate] urlForFileUnderRecursiveDocWithName:self.pdfName andOptionallyStartingAtDirectory:[[self appDelegate] pathURLForImagesDirectory]] path];
ReaderDocument *pdfDoc = [ReaderDocument withDocumentFilePath:fullPathToPDF password:nil];
結果のpdfDocはnullになるか、上記のようにフルパスを渡すと、ReaderDocumentの229行目からのアサーションでクラッシュします。
NSAssert(NO, @"CGPDFDocumentRef == NULL");
なぜなら(私は合理的な仮定をしている)この行(217;同じクラス):
CGPDFDocumentRef thePDFDocRef = CGPDFDocumentCreateX(docURLRef, _password);
CGPDFDocumentRefの作成に失敗します。フルパスを渡すこととファイル名を渡すことの違いについては前に説明しました。これは、コードを見ると、ReaderDocumentクラスがファイルの検索場所についていくつかの仮定をしているように見えるためです。ファイルをどこに保存したか、またはファイルに何を渡したかに関係なく、ファイルを機能させることができませんでした...withDocumentFilePathメソッド。
繰り返しになりますが、まったく同じファイルを使用して、UIWebViewで問題なく開くことができます。
それで、これと同じ問題を抱えている人、または私が試みていることをうまくやることができる人はいますか?ありがとう。