iOS热修复简单操作

首先把官方地址亮出来官网,使用规则一目了然,很详细,大赞的使用。我只是想以自己的理解方式做个笔记。

热修复的作用:

用于修改线上APP的bug,简直就是小bug的福音啊,避免了APP审核的繁琐过程。

热修复的原理:

他使用的是JSPatch,jspatch能通过JS调用和改写OC方法,根本原因是OC为动态语言,OC上所有方法的调用/类的生产都通过OC中的Runtime在运行时进行的,也因此我们借此反射得到相应的类和方法。

热修复使用JSPatch的优点:

  • 非侵入式
  • 上手快
  • 相关服务成熟

他的操作流程:

这里我先用文字描述一番,是为了突出他的设计方案,其后我会配图加以理解。
1.提供热修复的脚本(main.js文件)
2.将脚本上传到后台,所以后台需要提供上传的操作页面(jspatch后台APP操作页面)
3.终端设备每次运行后,就去获取上传的脚本文件
4.获取到脚本文件后,调用jspatch引擎,执行脚本文件进行修复
5.jspatch,它巧妙的运用了runtime的消息转发机制来实现在线修复,jspatch只能支持iOS7以上版本

现在我们来讲讲如何在我们的项目中使用,图文搭配更棒哦!首先进入官网,你会看到这样的界面

iOS热修复简单操作_第1张图片
1.png

iOS热修复简单操作_第2张图片
2.png

iOS热修复简单操作_第3张图片
3.png
接着在项目中导入libz.dylib和JavaScriptCore.framework框架
iOS热修复简单操作_第4张图片
4.png

iOS热修复简单操作_第5张图片
5.png

iOS热修复简单操作_第6张图片
6.png

7.png
还是来个简单的代码吧
iOS热修复简单操作_第7张图片
8.png
现在在不动源代码的情况把label的颜色和内容改了
iOS热修复简单操作_第8张图片
9.png

iOS热修复简单操作_第9张图片
10.png

iOS热修复简单操作_第10张图片
11.png

iOS热修复简单操作_第11张图片
12.png

iOS热修复简单操作_第12张图片
13.png
运行你的项目后,回到官网
iOS热修复简单操作_第13张图片
14.png
然后回到你的项目中,再次运行,不要急,这时候你看不到效果,我们关了再打开,效果就实现了。因为补丁提交后,第一次打开他要把补丁先下载到本地,所以第二次打开才能实现效果。
iOS热修复简单操作_第14张图片
15.png
更多疑问看文档,可以深入学习

你可能感兴趣的:(iOS热修复简单操作)