Невозможно загрузить файл, используя [[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];
}
Другие вопросы по тегам