WKWebView加载本地html在手机8.0部分系统无法显示出来

前言:自己的一个项目,WKWebView加载本地html文件。突然间在boss的iPhone 6 8.4.2 上加载不出来,纳尼?最后,搜查了很多资料,最终解决问题。解决方法如下:

  1. 将html 文件夹写入缓存
    NSString *basePath = [[NSBundle mainBundle] bundlePath];
    NSString *htmlPath = [basePath stringByAppendingPathComponent:@"BossECharts"];
    if(![[NSFileManager defaultManager] fileExistsAtPath:[@"BossECharts" cacheDic]])
    {
        [[NSFileManager defaultManager] copyItemAtPath:htmlPath toPath:[@"BossECharts" cacheDic] error:nil];
    }
  1. 获取缓存路径,加载html
    NSString *htmlPath = [@"BossECharts/可滑动柱状.html" cacheDic];
    NSURL *path = [NSURL fileURLWithPath:htmlPath];
    [_webView loadRequest:[NSURLRequest requestWithURL:path]];
  1. cacheDic 是NSString 分类中的一个方法
/**
 获取缓存路径
 
 @return 将当前字符串拼接到cache目录后面
 */
- (NSString *)cacheDic
{
    NSString *path = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0];
    
    return [path stringByAppendingPathComponent:self];
}

这样,本地的html在8.0系统中就能正常加载。

你可能感兴趣的:(WKWebView加载本地html在手机8.0部分系统无法显示出来)