IOS-利用JSPatch进行热修复

作者: 跑步的李磊 | 来源:发表于2016-09-20 12:47 被阅读378次

    对于ios开发者来说,当程序发布到AppStore后,如果发现程序出现bug,就只能等新一轮的修复,测试,提交,等待审核,这一系列的环节下来可能要经历数天。今天来介绍一下利用JSPatch来快速修复程序中出现的bug,提高用户体验。


    一 、JSPatch简介

    JSPatch诞生于2015年5月,最初是腾讯广研高级iOS开发@bang的个人项目。
    它能够使用JavaScript调用Objective-C的原生接口,从而动态植入代码来替换旧代码,以实现修复线上bug。
    JSPatch在Github.com上开源后获得了3000多个star和500多fork,广受关注,目前已被应用在大量腾讯/阿里/百度的App中

    二 、JSPatch 使用

    1 导入JSPatch框架

    1.1 新建一个IOS工程 ,终端 cd 到工程目录
    1.2 执行pod install
    pod install

    1.3 搜索JSPatch
    执行 pod search JSPatch
    pod search JSPatch
    1.4 复制最新版本的JSPatch 到 podfile文件中
    pod 'JSPatchSDKPod', '~> 1.6'

    2 JSPatch注册

    2.1 到JSPatch官网注册账号
    JSPatch官网

    屏幕快照 2016-09-20 11.38.02.png

    2.2 注册app

    屏幕快照 2016-09-20 11.40.15.png
    三 配置工程文件

    这个demo实现的效果是通过jspatch框架动态的向表中添加数据
    3.1 配置 appdelegate类

    屏幕快照 2016-09-20 11.42.02.png

    3.2 在一个视图控制器中添加一个表,在上面添加一个按钮 效果如下图

    屏幕快照 2016-09-20 11.48.08.png 屏幕快照 2016-09-20 11.48.18.png

    JSPatch实现的原理就是通过调用js方法,映射到ios(object-c or swift)的原生方法,所以js中的类名和方法名,一定要和原生代码中的一致。
    3.3 如果测试main.js文件没问题后,上传js文件到JSPatch官网

    屏幕快照 2016-09-20 12.32.48.png

    3.4 修改Appdelegate配置,添加appkey
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    [JSPatch startWithAppKey:@"bec23cc2263bdc8c"];
    [JSPatch sync];
    //本地测试
    // [JSPatch testScriptInBundle];
    return YES;
    }
    3.5 JSPatch不仅可以用来修复程序中的BUG,也可以用来修改一些业务参数配置。

    相互沟通,相互学习

    参考文章:
    JSPatch – 动态更新iOS APP
    JSPatch库, 一个Apple官方支持的实现在线更新iOS应用的库

    相关文章

      网友评论

        本文标题:IOS-利用JSPatch进行热修复

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