警告
至于DynamicCocoa会怎么样,我估计也。。。(╮(╯▽╰)╭)
===================以下是原文======================
前言
Hot-Fix热修复技术,就是指不需要重新上架ipa包就修复线上bug的相关机制。
由于App Store的审核机制,以及苹果不允许App加载动态库等原因,iOS的热修复技术一直比较欠缺。
但是bug是难以避免的,除了通过严格测试来修复上线前的bug,用热修复技术来解决线上bug,对于一款App来说,是相当必须的。
当前主流的iOS热修复技术
JSPatch
JSPatch 的原理简单的说,就是下发js 代码,通过JSPatch的引擎,为iOS程序动态地添加模块 或者 替换
![Uploading 1614740780-55e3c766792db_articlex_594374.png . . .]
原生代码,从而达到不更新版本修复线上bug的目的。
具体的使用方法不展开说了,下边就自己接入过程中遇到的两个问题做一下记录
a. 传输安全
这种打补丁的机制几乎可以控制整个App了,所以必须补丁脚本在传输过程中的安全。至少也要防止补丁脚本被篡改。
- 采用HTTPS,这种方法比较通用。今年苹果又把强制APP使用HTTPS的时间推迟了,我们项目也还没有完全采用HTTPS。
- 第二种方法是 使用RSA校验
JSPatch作者有提供打包加密的工具
b. 执行安全
还需要考虑脚本在执行过程中的安全,Patch包的加载在App启动的初期,如果Ptach包本事含有导致crash的bug,那么会造成App永远无法正常启动的严重问题。
防crash机制协议设计参考
协议设计参考 补丁版本检测流程