iOS热修复简单操作

作者: 为心而狂 | 来源:发表于2017-02-28 10:40 被阅读404次

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

    热修复的作用:

    用于修改线上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 更多疑问看文档,可以深入学习

    相关文章

      网友评论

        本文标题:iOS热修复简单操作

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