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系统中就能正常加载。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容