Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
Awhisper authored Jan 6, 2019
1 parent fbe0fa5 commit b744130
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions Reports/2019/#51-2019.01.09.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@
4. Linker(链接):将一切依赖的外部库加入到二进制包中
5. Loader(装载):变成一个可执行程序,添加程序执行的入口,以便操作系统能够直接跑起来

### 🐢 [OCEval-动态执行ObjectiveC的热修复方案](https://juejin.im/post/5c24a8396fb9a049d5198dfc)

苹果在18年多次对基于 runtime & JavaScriptCore 的热修复方案进行全面的打压,导致 JSPatch 以及其混淆 or 变种,变得难以过审但是本文作者依然在热修复的探索上寻找并实现了一条新的方案 OCEval OCEval 的本质是作者自己实现了一个OC语法的简单解释器,包含了基础的词法分析与语法分析,从而能够在运行期将 OC 代码生成抽象语法树 AST 然后进行执行这样就可以将OC这种原本必须经过编译再运行的语言,扩展为 js 那样的解释执行,从而能够做到动态下发代码并且运行同时再通过 runtime 进行 aspect 那样的 hook 操作,实现热修复线上代码整个代码都已经开源,对编译原理有兴趣的同学值得深入好好学习一下

## 设计

### 🐎 [[] 色彩无障碍性产品设计指南](https://juejin.im/post/5c2c233d6fb9a049bd4266b7)
Expand Down

0 comments on commit b744130

Please sign in to comment.