iOS8 の VFR-Reader-Core で現在動作しているアプリをテストしましたが、そこから PDF を開こうとすると完全にクラッシュします。この問題を抱えているのは私だけですか? これを修正するために検索できる場所のアイデアはありますか? クラッシュレポートはこちら
ありがとうございました
iOS8 の VFR-Reader-Core で現在動作しているアプリをテストしましたが、そこから PDF を開こうとすると完全にクラッシュします。この問題を抱えているのは私だけですか? これを修正するために検索できる場所のアイデアはありますか? クラッシュレポートはこちら
ありがとうございました
iOS 8 では、アプリ コンテナーの Te ファイル システム レイアウトが変更されました。アプリケーションとそのコンテンツは、1 つのルート ディレクトリに格納されなくなりました。
iOS 8 リリース ノートから:
アプリ コンテナーのファイル システム レイアウトがディスク上で変更されました。ハードコーディングされたディレクトリ構造に依存するのではなく、
NSSearchPathForDirectoriesInDomains
関数または クラスのURLForDirectory:inDomain:appropriateForURL:create:error:
メソッドを 使用します。ファイル システム プログラミング ガイドの「ファイルとディレクトリへのアクセス」を参照NSFileManager
してください。
この問題を簡単に調べたところ、VFRReader が上記の Apple の推奨に従っていないことがわかりました。
Github ページで問題を提起するつもりでしたが、問題の追跡が無効になっているようです。今日時間があれば、これを解決してプルリクエストを出すことを検討します。
編集: iOS8 で動作するバージョンのフォークを確認してください: https://github.com/liamnichols/Reader
また、元のリポジトリでプル リクエストを送信しました: https://github.com/vfr/Reader/プル/54
vfreader の ReaderDocument.m から、著者は次のように述べています。
また、// iOS 8 以降、アプリケーションの ~/Documents ディレクトリはそのバンドル内に存在しなくなり、// バンドルされた PDF ファイルは、アクセスする前にアプリケーションの // ~/Documents ディレクトリにコピーする必要があります。 "
それが役に立てば幸い。
最後にこれに困惑しました:
@synchronized(nil) {
CGContextDrawPDFPage(context, _PDFPageRef);
}
iOS8で動作するようになりました。
編集:コードにいくつかの変更を加えましたが、これでもこのクラッシュを回避するのに役立ちません。しかし、デバイスで実行すると動作します。(シミュレーターでクラッシュ)。
メモリリーク、時には良い方法、時には間違った方法:D