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

    JSPatch小结 例子: app上线了,遇到了重大bug,提交新版本要审核几天,为了避免用户流失,需要马上将bu...

  • iOS 动态化热修复方案

    iOS 动态化热修复方案 Warnning 前言 iOS热修复方案经过JSPatch事件后,也消停了很久。bang...

  • iOS热更新/热修复JSPatch的使用

    一、目的: 随着APP迭代更新,项目越写越庞大,每个功能间的关联性越来越多。再加上测试人员人手不足等情况,不可避免...

  • iOS热更新/热修复JSPatch的使用

    一、目的: 随着APP迭代更新,项目越写越庞大,每个功能间的关联性越来越多。再加上测试人员人手不足等情况,不可避免...

  • IOS热修复JSPatch

    概述 JSPatch是什么? JSPatch 是一个Github开源项目(https://github.com/b...

  • IOS 热修复JSPatch

    1.为什么要引入JSPatch 相信对于维护已经发版了的IOS的朋友都有遇到过程序已经上架了,可是现在突然发现有一...

  • iOS热更新-JSPatch

    这是之前在公司做的演讲做的PPT,就不一一的敲一遍了,直接截图PPT上传分享给大家吧。

  • iOS 热更新JSPatch

    1.倒入核心文件的名字JPEngine.m、JPEngine.h、JSPatch.js。 2.在AppDelega...

  • OCEval-动态执行ObjectiveC的热修复方案

    OCEval 需求 目前流行的 JSPatch/RN 基于JavaScriptCore提供了iOS的热修复和动态化...

  • JSPatch你想知道的都在这里

    我们首先说说JSPatch是什么,它是iOS热修复平台,我们项目中如果导入JSPatch,即使你的项目已经上线,不...

网友评论

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

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