JSPatch动态化实践之路

JSPatch 的动态化能力挺有意思的,尤其对搞 iOS 开发的你来说,应该不陌生吧。用 JavaScript 写点代码,就能在不走 App Store 审核的情况下,热修 bug、加个功能啥的,方便又省事。

苹果审核一慢下来,产品经理就开始催,发布计划也容易被打乱。JSPatch出来后,开发节奏就能灵活多。写完 JS 脚本,通过服务端下发,客户端那边一接收,逻辑就更新了。更新逻辑、调个样式,连 UI 都能动态变。

JSPatch的原理也不复杂,说白了就是用 JS 作为桥梁,动态调用原生 OC 方法,比如[UIView setHidden:YES]这种操作,在 JS 里也能搞定。底层靠的是 Objective-C 的动态特性,什么NSInvocationperformSelector都用上了。

技术负责人陈振焯(也就是熟的 bang)在 GMTC 大会上讲过一段,分享了从 2016 年 JSPatch 上线到后面一堆落地经验。像安全问题、脚本管控,这些也是他们踩坑总结出来的。有兴趣可以看看完整演讲记录,干货不少。

对了,如果你是 Swift 党,swift-HotFix也可以看看,也是热修思路,但走的是另一条路,审核更友好。

提醒下,JSPatch后来因为安全和审核问题在 App Store 里不太好使了,建议做企业应用、灰度内测这种场景再用。正式版本还是得规避风险。

如果你想快速试试,可以去看下JSPatch 1.7.3的,或者翻翻UI 进阶学习笔记,上手比较快。

pdf 文件大小:6.54MB