CGPDFDocumentCreateWithURL будет загружать файл в каталог документов или нет - PullRequest
0 голосов
/ 04 мая 2011

Я получаю доступ к файлам PDF, доступным на моем PHP-сервере, с помощью моего iPhone с помощью передачи URL-адреса файла в CGPDFDocumentCreateWithURL. Мой вопрос, когда я получаю доступ к файлам, которые он будет загружать в каталог документов iphone или нет?

Потому что, если мое приложение активно в течение некоторого времени, я получаю ошибку CFURLCreateDataAndPropertiesFromResource с кодом ошибки -14. После получения этой ошибки мое приложение не падает, но оно не работает должным образом.

Я не могу понять внутренний процесс? Пожалуйста, помогите мне в этом вопросе?

Ответы [ 2 ]

2 голосов
/ 04 мая 2011

Я думаю, вы не понимаете, что делает CGPDFDocumentCreateWithURL.Он не загружает документ PDF в файловую систему.Он создает PDF в памяти на основе предоставленного URL.Он ничего не сохраняет в файловую систему.

Я бы настоятельно рекомендовал использовать сетевой класс (NSURLConnection, ASI и т. Д.) Для загрузки PDF сначала изатем откройте его.Это позволит вам улучшить обратную связь и поддерживать более продвинутые функции загрузки, такие как возобновление частичной загрузки, обеспечение прогресса и улучшенное управление потоками.

0 голосов
/ 28 мая 2011

Для сохранения 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];

затем загрузите этот сохраненный файл в веб-представление:

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