2019-07-31通过网络下载服务器的zip文件,并解压到沙盒,然后加载文件里的HTML文件以及相关资源踩坑记录

通过网络下载服务器的zip文件,并解压到沙盒,然后加载文件里的HTML文件以及相关资源踩坑记录

1、关于网络下载并解压到本地沙盒存储
用到的第三方下载地址ZipArchive https://github.com/ZipArchive/ZipArchive

2、关于WKWebView 加载方式的问题

- (void)loadWebData
{
    NSArray *LibraryArray =  NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
    NSString *CachesPath = [[LibraryArray lastObject] stringByAppendingPathComponent:@"Preferences"];
    NSString *indexPath = [CachesPath stringByAppendingPathComponent:@"/hybrid/gerenzhongxin/gerenzhuye2.html"];
    NSURL *loadurl =[NSURL fileURLWithPath:indexPath];//fileURLWithPath后面跟的是文件目录不需要file:///
    JMLog(@"loadurl==%@==",loadurl);

    //创建访问权限URL
    NSString *accessURLStr = [[[LibraryArray lastObject] stringByAppendingPathComponent:@"Preferences"] stringByAppendingPathComponent:@""];

    NSURL *accessURL = [NSURL fileURLWithPath:accessURLStr];
    JMLog(@"如果readAccessURL引用一个目录,WebKit可能会加载该文件中的文件accessURL==%@==",accessURL);

    //第三步:进行加载
    /*
     要导航到的文件URL。
     允许读取访问的URL。
     如果readAccessURL引用单个文件,WebKit只能加载该文件。
     如果readAccessURL引用一个目录,WebKit可能会加载该文件中的文件。
     */
    [self.myweb loadFileURL:loadurl allowingReadAccessToURL:accessURL];
//    [self.myweb loadRequest:[NSURLRequest requestWithURL:loadurl]];

}

重点

大坑就是这个访问权限urlstr 解压路径的问题导致前端 的js css文件没有加载成功导致页面缩小,只有一半,所有的样式都没有加载成功,这里一定要取对路径,注意加压路径

ps:关于参考文章中的部分代码还有一知半解的地方,还需要深入研习一下,啊 ,终于搞出来了!!!开心!!!

刚才跟前段小伙伴做了事后诸葛亮,简单的分析了一下错误的原因,仅做记录教训,如图。


2019-07-31通过网络下载服务器的zip文件,并解压到沙盒,然后加载文件里的HTML文件以及相关资源踩坑记录_第1张图片
看不明白也别吐槽.....png

参考文章

  • https://www.jianshu.com/p/37b30b0fcaf9
  • https://stackoverflow.com/questions/40123321/wkwebview-run-local-html-in-document-received-an-unexpected-url-from-the-web-p
  • https://blog.csdn.net/weixin_34096182/article/details/86015378

你可能感兴趣的:(2019-07-31通过网络下载服务器的zip文件,并解压到沙盒,然后加载文件里的HTML文件以及相关资源踩坑记录)