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以上版本

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

1.png

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
更多疑问看文档,可以深入学习

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容