JSPatch 热修复

2,349 阅读1分钟
原文链接: www.jianshu.com

今天写了一个jspatch的小demo,每一步都做了截图,如果不了解JSPatch,大家可自行百度。JSPatch首页

一、背景需求介绍

为什么我们需要一个热修复(hot-fix)技术?

工作中容易犯错、bug难以避免。
开发和测试人力有限。
苹果Appstore审核周期太长,一旦出现严重bug难以快速上线新版本。
作为生产力工具,用户有对稳定性和可靠性的需求。

二、JSPatch简介

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

现在集成开始集成JSPatch

老规矩先导入框架


1.png


链接对应的库


2.png

keychain Sharing需要打开(真机就没事,模拟器跑的时候会报错,本人亲测)


3.png

故意源程序中tableview的代理点击方法中数组越界


4.png

去JSPatch官网注册账号,并且申请一个appkey


5.png

未上线,选填


6.png

复制对应的appkey,在appdelegate中注册一下


7.png

添加版本号,注意与你的app版本号要一样


8.png

补丁里填上需要修复的代码,这里js代码是由对应的oc代码转化的


9.png

运行结果已修复,点击cell的方法已被替换,控制台打印js代码执行的方法


11.png

实时监控成功的补丁数


12.png

demo地址对你有帮助的话就帮忙点颗星。