私は PDF をダウンロードする雑誌アプリを持っています。iOS 7では/Library/Caches/...
うまく動作しますが、 iOS 8 (ファイル システム ディレクトリを変更する) からは、ダウンロードした PDF を開くことができません。私が見るログエラーから:PSPDFKit
ファイルのダウンロード パス:
/Users/steven/Library/Developer/CoreSimulator/Devices/xxxxx/data/Containers/Data/Application/xxxxx/Library/Caches/doc1.pdf
PSPDFkit set document from path エラー:
Error: -[PSPDFGlobalLock documentProviderForDocument:page:]/248 Cannot get document reference, there is no file at /Users/steven/Library/Developer/CoreSimulator/Devices/xxxxx/data/Containers/Bundle/Application/xxxxx/[NAMEAPP]/Users/steven/Library/Developer/CoreSimulator/Devices/xxxxx/data/Containers/Data/Application/xxxx/Library/Caches/doc1.pdf!
注意: 一部の単語をxxxxに置き換えました
の古いバージョンを使用してPSPDFKit
います (正確なバージョンがわからないため、バージョン パラメータが見つかりません)
この方法で「キャッシュ」フォルダーを取得します(コードでは[ユーティリティドキュメント]と呼ばれます):
NSArray *paths = [[NSArray alloc] initWithArray:NSSearchPathForDirectoriesInDomains( NSCachesDirectory, NSUserDomainMask, YES )];
return [paths objectAtIndex:0];
ダウンロードパス PDF コード:
NSString *destPath = [[Utility documents] stringByAppendingPathComponent:[[highlightedMagazine objectForKey:@"url"] lastPathComponent]];
iOS 8 の PDF コードを読む:
NSString *destPath = [[Utility documents] stringByAppendingPathComponent:[[highlightedMagazine objectForKey:@"url"] lastPathComponent]];
pdfController.document = (PSPDFDocument *)[[Utility documents] stringByAppendingPathComponent:[[highlightedMagazine objectForKey:@"url"] lastPathComponent]];
また、ダウンロード パスは"/data/Containers/Data"
であり、読み取りパスは"/data/Containers/Bundle"
です。変更できません。
誰かが私を助けることができますか?? ありがとうございました!