今天写了一个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
老规矩先导入框架
链接对应的库
keychain Sharing需要打开(真机就没事,模拟器跑的时候会报错,本人亲测)
故意源程序中tableview的代理点击方法中数组越界
去JSPatch官网注册账号,并且申请一个appkey
未上线,选填
复制对应的appkey,在appdelegate中注册一下
添加版本号,注意与你的app版本号要一样
补丁里填上需要修复的代码,这里js代码是由对应的oc代码转化的
运行结果已修复,点击cell的方法已被替换,控制台打印js代码执行的方法
实时监控成功的补丁数
demo地址对你有帮助的话就帮忙点颗星。