对于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官网
2.2 注册app
屏幕快照 2016-09-20 11.40.15.png三 配置工程文件
这个demo实现的效果是通过jspatch框架动态的向表中添加数据
3.1 配置 appdelegate类
3.2 在一个视图控制器中添加一个表,在上面添加一个按钮 效果如下图
屏幕快照 2016-09-20 11.48.08.png 屏幕快照 2016-09-20 11.48.18.png屏幕快照 2016-09-20 12.32.48.pngJSPatch实现的原理就是通过调用js方法,映射到ios(object-c or swift)的原生方法,所以js中的类名和方法名,一定要和原生代码中的一致。
3.3 如果测试main.js文件没问题后,上传js文件到JSPatch官网
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应用的库
网友评论