美文网首页
JSPatch 使用

JSPatch 使用

作者: xiao小马哥 | 来源:发表于2016-06-27 16:02 被阅读433次
32.jpg

JSPatch以小巧的体积做到了让JS调用/替换任意OC方法,让iOS APP具备热更新的能力,在实现 JSPatch 过程中遇到过很多困难也踩过很多坑,有些还是挺值得分享的。废话不多说,直接搞起...

  • 1.首先把文件JSPatch放到你的项目,这就不细说了,我用的网络请求框架是ASI ,代码就以ASI为例了:
    导入所需的框架,如果项目中已经有了就省事了
B14BDE34-4D29-4069-A6D4-EDFF85F91FB0.png
  • 2.这时还会报一个错误,就是找不到#import <libxml/HTMLparser.h>这个文件,在Build Settings --> 输入 "header search" 就行了,找到对应的Header Search Paths 添加目录"${SDK_DIR}/usr/include/libxml2"


    BD941803-9D6A-4FA6-8E37-E5F49FF36558.png
  • 3.现在就算导入文件OK了,下面开始真正的集成,其实也非常的简单,在Appdelegate 的程序启动的方法添加如下代码

  • (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    //1.创建请求对象
    NSURL *url=[NSURL URLWithString:@"文件存放在服务器上的路径/demo.js"];
    ASIHTTPRequest *request=[ASIHTTPRequest requestWithURL:url];
    
    //2.设置下载文件保存的路径
      NSString *cachepath= [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)lastObject];
      NSString *filename=[cachepath stringByAppendingPathComponent:@"demo.js"];
      request.downloadDestinationPath=filename;
      NSLog(@"%@",filename);
    
      //3.设置下载进度的代理
      request.downloadProgressDelegate=self;
    
      //4.发送网络请求(异步)
      [request startAsynchronous];
    
      //5.设置支持断点下载
      request.allowResumeForFileDownloads=YES;
    
        //6.下载完毕后通知
      [request setCompletionBlock:^{
      NSLog(@"文件已经下载完毕");
      [JPEngine startEngine];
      NSString *filename=[cachepath stringByAppendingPathComponent:@"demo.js"];
      NSString *script = [NSString stringWithContentsOfFile:filename encoding:NSUTF8StringEncoding error:nil];
      [JPEngine evaluateScript:script];
      }];
    return YES;
    }
    
  • 4.这是在正常的控制器里的代码

C08EBB37-1B85-441C-86D5-5B0804BAF4CD.png
  • 5.这是上传到服务器上的代码(这是js代码,有兴趣的同学可以学习一下)
B865BA32-666D-4CB6-A443-F93894146279.png

还有就是安全加密的问题,推荐看看这篇博客
你们最最期待的demo在这里!!!给力吧,别忘记给个star 啊!

相关文章

  • JSPatch使用 私有变量操作

    基本使用 ** JSPatch 官方平台 ** ** JSPatch 语法转换 ** JSPatch基本使用 JS...

  • JsPatch学习(1)【使用篇】

    JsPatch的使用很多,简单介绍热修复功能。JsPatch【使用篇】 最简单的使用: 1、注册App 到JSPa...

  • JSPatch基础用法总结

    JSPatch 1.打印console.log(); 2.Protocol 3.Masonry使用JSPatch如...

  • 网站

    iOS常用 XCode代码混淆 Mac常用软件破解版下载 mongodb jspatch介绍 jspatch使用 ...

  • JSPatch 使用

    JSPatch以小巧的体积做到了让JS调用/替换任意OC方法,让iOS APP具备热更新的能力,在实现 JSPat...

  • 使用七牛下发JSPatch文件及文件加密

    使用JSPatch这么久了,一直都是使用http://jspatch.com/平台集成SDK来实现js文件下发和版...

  • 我喜欢的优秀开源项目

    1.热更新 JSPatch。 网址:http://jspatch.com,优势,持续更新升级,有详细使用文档。 2...

  • 在Swift4中使用JSPatch

    前言 JSPatch平台SDK 1.7.5 以上版本可以通过苹果审核,我们这次尝试在Swift中使用JSPatch...

  • iOS热更新-8种实现方式

    一、JSPatch 官网:http://www.jspatch.com 怎么使用官网文档写的很清楚。 热更新时,从...

  • JSPatch 浅探

    前言 JSPatch下载地址自己实现JSPatch的功能 修改JSPatch JSPatch简介 JSPatch ...

网友评论

      本文标题:JSPatch 使用

      本文链接:https://www.haomeiwen.com/subject/qsbzdttx.html