Из официальной документации по NSURL
official documentation on NSURL
.
Отправка nil
в качестве аргумента для fileURLWithPath:
создает исключение.
Проблема тогда на самом деле с [[NSBundle mainBundle] pathForResource:ofType:]
. Это возвращает nil
, а не фактический путь к файлу.
Проблема в том, что [NSBundle mainBundle]
относится к файлам, которые связаны с вашим приложением. Вам нужно посмотреть в каталоге документов вашего приложения, где хранится загруженный файл.
Этот метод даст вам путь к директории документов вашего приложения:
NSString* documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
Теперь, просто добавьте имя файла к этому пути:
NSString *pdfPath = [documentsPath stringByAppendingPathComponent:@"3.pdf"];
И для ровного (потому что аварии являются всегда плохо), убедитесь, что файл существует как таковой:
BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:pdfPath];
И закончить как таковой:
if (fileExists) {
NSURL *urlen = [NSURL fileURLWithPath:pdfPath];
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:urlen];
[webView loadRequest:urlRequest];
[webView setScalesPageToFit:YES];
} else {
// probably let the user know there's some sort of problem
}
Что на самом деле происходит? Вы получаете какие-либо ошибки? Что-нибудь показывает? – nhgrif
Привет, да, забыл написать их ... ;-) Я получаю: «Thread 1: signal SIGABRT» Он работает, если я помещаю папку pdf file ind с самого начала, но когда я загружаю pdf-файл из Интернета, это делает эту ошибку ... – Jansen82
Есть много информации, связанной с этой ошибкой ... в какой строке это происходит? И какова фактическая трассировка стека? – nhgrif