iOS热更新方案(过AppStore审核)

一、查阅了几种热更新的方案, JSPatch 、 Aspects 、 Stringer 、 TTPatch 、Mango、OCRunner。下面用一个表格对这几种方案分别做个对比:
       方案                         优点                    缺点             链接地址       使用说明
    JSPatch        

1,学习成本低

2,接入成本低

3,热更能力高,还可以用它创建新的模块

1,下发的JS代码容易被窜改,存在安全漏洞

2,已经被Apple拒绝,上架很难过审

3,不支持跨平台,仅支持OC

https://github.com/bang590/JSPatchhttp://www.jspatch.com
    ASPects

1,利用消息转发机制forwardInvocation进行转发

2,接入成本低

3,热更能力中等,一般的bug可修复

1,下发的JS代码容易被窜改,存在安全漏洞

2,直接上架

3,不支持跨平台,仅支持OC

https://github.com/steipete/AspectsLBYFix-依赖Aspects的轻量级低风险的 iOS Hotfix 方案 - 简书
 

​​​​​​iOS热修复方案可行性研究以及Aspects修复方案的​​​​​​实践 - 简书

    Stringer 1,速度快又好

1,公开文档少,资料少,demo不完备

https://github.com/eleme/Stinger
    TTPatch

1,有完善的公开文档

2,性能可以

1,学习成本高

2,执行效率一般

https://github.com/yangyangFeng/TTPatch
  MangoFix

1,无感知修复,不用下载远程补丁文件,只需要配置更新文件的远程地址将更新文件保存在本地即可

2,接近OC的语法

1,目前还不支持Swift

2,DSL(领域专用语言)

https://github.com/YPLiang19/Mango/blob/master/README-CN.md iOS开发 MangoFix结合码云储存补丁文件实现热更新 - 简书
  OCRunner

1,二进制补丁,安全性高

2,是MangoFix的进化版

3,速度比MangoFix快

4,方法比MangoFix多

1,Swift中的类要声明为@objc才能用 https://github.com/SilverFruity/OCRunner 基于OCRunner二进制热更新实践 - 简书

2、iOS中OC转Javascript的工具:

TTPatch Convertor

https://github.com/bang590/JSPatchConvertor

JSPath在2015年左右是很火的热更新库,但是后后来受苹果的限制,上架很难,如果你对js语言比较熟悉,建议使用ASPects,如果不熟悉js,建议使用OCRunner,它是比较接近OC的语法,也仅仅是热修复。不建议通过这种方式随意修改一般功能逻辑

二、Swift 热修复

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇

)">
下一篇>>