iOS热更新(热修复)_JSPatch

作者: Jamesholy | 来源:发表于2016-07-20 13:36 被阅读803次

    JSPatch小结

    例子: app上线了,遇到了重大bug,提交新版本要审核几天,为了避免用户流失,需要马上将bug解决,怎么办?


    热更新(热修复):

    在IOS开发领域,由于Apple严格的审核标准和低效率,IOS应用的发版速度极慢,稍微大型的app发版基本上都在一个月以上,所以代码热更新对于IOS应用来说就显得尤其重要。

    现在最流行的就是利用JSPatch进行热更新(iOS6.0之后)

    JSPatch 可以让你用 JavaScript 书写原生 iOS APP。只需在项目引入极小的引擎,就可以使用 JavaScript 调用任何 Objective-C 的原生接口,获得脚本语言的优势:为项目动态添加模块,或替换项目原生代码动态修复 bug。

    JSPatch的实现原理理解

    基础原理

    能做到通过JS调用和改写OC方法最根本的原因是 Objective-C 是动态语言,OC上所有方法的调用/类的生成都通过 Objective-C Runtime 在运行时进行,理论上你可以在运行时通过类名/方法名调用到任何OC方法,替换任何类的实现以及新增任意类。所以 JSPatch 的原理就是:JS传递字符串给OC,OC通过 Runtime 接口调用和替换OC方法。。

    JSPatch的实现原理学习之处:
    JSPatch实现原理详解 http://blog.cnbang.net/tech/2808/
    JSPatch Git源码和使用说明 https://github.com/bang590/JSPatch
    https://github.com/bang590/JSPatch/wiki/JSPatch-%E5%9F%BA%E7%A1%80%E7%94%A8%E6%B3%95
    看实现原理详解的时候对照着源码看,比较好理解。


    JSPatch热修复简单使用

    http://www.jianshu.com/p/288aba2cfcdc

    相关文章

      网友评论

        本文标题:iOS热更新(热修复)_JSPatch

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