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修复方案的​​​​​​实践 - 简书

    Stringer1,速度快又好

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.mdiOS开发 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 热修复

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值