IOS-利用JSPatch进行热修复

作者: 跑步的李磊 | 来源:发表于2016-09-20 12:47 被阅读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应用的库

相关文章

  • IOS-利用JSPatch进行热修复

    对于ios开发者来说,当程序发布到AppStore后,如果发现程序出现bug,就只能等新一轮的修复,测试,提交,等...

  • 初探JSPatch

    前言 iOS平台的有很多热修复框架,原理都是差不多,都是利用 Runtime 进行属性、方法修改。JSPatch ...

  • JSPatch热修复

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

  • JSPatch热修复

    首先,简单说一下,为什么要用JSPatch,做iOS开发的人都知道,一旦程序出现了紧急BUG,各种申请苹果的...

  • JSPatch热修复

    iOS如果线下出现bug, 这个好解决, 但如果线上出bug, 由于APP Store提交审核有时间限制, 修改完...

  • JsPatch学习(1)【使用篇】

    JsPatch的使用很多,简单介绍热修复功能。JsPatch【使用篇】 最简单的使用: 1、注册App 到JSPa...

  • iOS 动态化热修复方案

    iOS 动态化热修复方案 Warnning 前言 iOS热修复方案经过JSPatch事件后,也消停了很久。bang...

  • IOS热修复JSPatch

    概述 JSPatch是什么? JSPatch 是一个Github开源项目(https://github.com/b...

  • 热修复-JSPatch源码

    JSPatch 简单版本的JSPatch和注释:https://github.com/misaka14/JSPat...

  • JSPatch实现热修复

    对于苹果的app来说,虽然在提交审核上线前会经过严格的测试,但是还是要保证有重大bug的情况下能够及时进行热修复,...

网友评论

    本文标题:IOS-利用JSPatch进行热修复

    本文链接:https://www.haomeiwen.com/subject/quwusttx.html