首先把官方地址亮出来官网,使用规则一目了然,很详细,大赞的使用。我只是想以自己的理解方式做个笔记。
热修复的作用:
用于修改线上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以上版本
现在我们来讲讲如何在我们的项目中使用,图文搭配更棒哦!首先进入官网,你会看到这样的界面
2.png
3.png 接着在项目中导入libz.dylib和JavaScriptCore.framework框架
4.png
5.png
6.png
7.png 还是来个简单的代码吧
8.png 现在在不动源代码的情况把label的颜色和内容改了
9.png
10.png
11.png
12.png
13.png 运行你的项目后,回到官网
14.png 然后回到你的项目中,再次运行,不要急,这时候你看不到效果,我们关了再打开,效果就实现了。因为补丁提交后,第一次打开他要把补丁先下载到本地,所以第二次打开才能实现效果。
15.png 更多疑问看文档,可以深入学习
网友评论