0

ファイルのURLをCGPDFDocumentCreateWithURLに渡すことで、iPhoneを使用してPHPサーバーで利用可能なPDFファイルにアクセスしています。私の質問は、ファイルにアクセスするたびに、iPhoneのドキュメントディレクトリにダウンロードされますか?

アプリケーションがしばらくアクティブになっていると、エラーコード-14のエラーCFURLCreateDataAndPropertiesFromResourceが発生するためです。このエラーが発生した後、アプリケーションはクラッシュしませんが、正しく機能していません。

内部プロセスを理解できませんか?この問題で私を助けてください?

4

2 に答える 2

2

あなたは何をしているのか誤解していると思いますCGPDFDocumentCreateWithURL。PDFドキュメントをファイルシステムにダウンロードしません。提供されたURLに基​​づいてメモリ内にPDFを作成します。ファイルシステムには何も保存されません。

ネットワーククラス(NSURLConnection、ASIなど)を使用して最初にPDFをダウンロードしてから、開くことを強くお勧めします。これにより、より良いフィードバックを提供し、部分的なダウンロードの再開、進行状況の提供、スレッド管理の改善など、より高度なダウンロード機能をサポートできるようになります。

于 2011-05-04T11:06:33.177 に答える
0

PDFを保存するには

NSString *urlString = @"http://www.web.com/url/for/document.pdf";

NSURL *url = [NSURL URLWithString:urlString];

NSData *data = [NSData dataWithContentsOfURL:url];

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *documentsDirectory = [paths objectAtIndex:0];

NSString *pdfPath = [documentsDirectory stringByAppendingPathComponent:@"myLocalFileName.pdf"];

[data writeToFile:pdfPath atomically:YES];

次に、保存したファイルをWebビューにロードします。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *documentsDirectory = [paths objectAtIndex:0];

NSString *pdfPath = [documentsDirectory stringByAppendingPathComponent:@"myLocalFileName.pdf"];

NSURL *url = [NSURL fileURLWithPath: pdfPath];

NSURLRequest *request = [NSURLRequest requestWithURL:url];

[[self mainWebView] loadRequest:request];
于 2011-05-28T09:38:06.180 に答える