iOS学习iOS 开发 iOS开发技术分享

IOS-利用JSPatch进行热修复

2016-09-20  本文已影响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应用的库

上一篇下一篇

猜你喜欢

热点阅读