IOS-利用JSPatch进行热修复


对于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应用的库

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容