Невозможно загрузить файл, используя [[NSBundle mainBundle] pathForResource ofType inDirectory]
У меня есть каталог с веб-сайтом, который мне нужно добавить в мой проект. Я буду загружать его, используя uiwebview
,
Я пробовал несколько способов добавить его, но все безуспешно. Это последний способ, которым я пытался:
Скопировал весь каталог веб-сайта в каталог моего проекта (фактическая физическая папка). После этого перетащил каталог в мой проект xcode и поставил галочку "Создать ссылки на папки для любых добавленных папок". Затем я посмотрел "Фазы сборки -> Копировать ресурсы пакета ->..." и увидел, что он там есть.
При загрузке моей веб-страницы:
-(void)loadUrl
{
NSString *str = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html" inDirectory:@"websiteDir"]; // THIS IS RETURNING NIL!
NSURL *url = [NSURL URLWithString:str];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:request];
}
Что я делаю неправильно?
1 ответ
Это не верно:
вы получаете str как путь, НО затем вызываете URLWithString... но str это не URLString, а путь
ЛИБО использовать url = [NSURL fileUrlWithPath:str]
ИЛИ использовать метод - (NSURL *)URLForResource:(NSString *)name withExtension:(NSString *)extension subdirectory:(NSString *)subpath
образец
-(void)loadUrl {
NSURL *url = [[NSBundle mainBundle] URLForResource:@"index" withExtension:@"html" subdirectory:@"websiteDir"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:request];
}