【问题标题】:Cannot load local html file into WKWebView on ios device (not simulator) [duplicate]无法将本地 html 文件加载到 ios 设备(不是模拟器)上的 WKWebView [重复]
【发布时间】:2019-10-17 15:42:57
【问题描述】:

我在使用以下代码时遇到了问题。它应该将本地 HTML 文件加载到 WKWebView 中。

它在我尝试过的任何模拟器(ios 12 / ios 13)上都能正常工作。

由于我还不明白的原因,它在设备上不起作用。 相反,我得到一个空白屏幕。使用 Safari 调试器调试 webview 显示页面是“about:blank”。它没有加载我的文件...为什么?

请注意,我已经通过从手机下载应用程序容器检查了文件是否存在,并且文件在那里......

- (void)loadIndexConteneurWithHash:(NSString *)hash
{
    NSString *fileName = @"index.html";
    NSString *subpath = hash ? [NSString stringWithFormat:@"%@#%@", fileName, hash] : fileName;
    NSString *rootContainerDirectoryPath = [NSFileUtility pathRelativeToContentDirectoryForSubpath:@"/www/v2"];

    NSURL *URL = [NSURL URLWithString:subpath relativeToURL:[NSURL fileURLWithPath:rootContainerDirectoryPath]];

    [[NSURLCache sharedURLCache] removeAllCachedResponses];

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:URL cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:10.0f];

    [self.webView performSelectorOnMainThread:@selector(loadRequest:) withObject:request waitUntilDone:true];
}

编辑:这个问题不是 Load local web files & resources in WKWebView 的重复问题

我没有从包中加载我的 HTML 文件,而是从我的问题中最初提到的应用程序容器中加载。我也试过loadFileURL的方法,也不管用。

【问题讨论】:

  • 这个[NSFileUtility pathRelativeToContentDirectoryForSubpath:@"/www/v2"] 方法应该做什么?
  • @CZ54 它给出了相对于/var/mobile/Containers/Data/Application/<...>/Library/Application Support/<my app id>/LocalContents的给定路径的绝对路径@
  • 委托方法告诉我们什么?好的还是错误?
  • @Cy-4AH decidePolicyForNavigationAction 被提出,我允许。但是didFailNavigationdidFinishNavigation 都没有被调用...
  • 查看副本时,请注意当前接受的答案显示您需要致电loadFileURLload。不需要第二次调用load。你只需要loadFileURL

标签: ios objective-c wkwebview


【解决方案1】:

为了访问本地资源,您必须使用: Bundle.main.url(forResource: "MyFile", withExtension: "html")

【讨论】:

  • 不是bundle中的资源,是app容器中的资源。
  • 您的意思是应用程序本身创建的文件?没有嵌入?
  • 是的,我实际上是把一个文件解压到容器中,然后尝试将解压后的html文件加载到WKWebView中
猜你喜欢
  • 1970-01-01
  • 2013-09-14
  • 2018-12-26
  • 2018-05-30
  • 2015-03-04
  • 2017-05-24
  • 2015-09-07
  • 2014-09-13
  • 1970-01-01
相关资源
最近更新 更多