iOS 热修复热发布分析

1.静默推送(Background Update Notification)

静默推送,可实现一些小的需求。它无需app启动就能实现。低优先级,每个小时超过一次的部分,会被限制。

常规推送,最大支持4KB(4096 bytes);语音推送,最大支持5KB;将有效内容构造为JSON字典并将其作为HTTP / 2消息的主体内容发送。

推送内容例子:

{

    "aps" : {

        "content-available" : 1

    },

    "acme1" : "bar",

    "acme2" : 42

}

"content-available" : 1 是必须加的; alert, sound, or badge可以根据需求添加


参考链接https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html


2.JSPatch平台 

在开源JSPatch基础上做了混淆及禁止调用私有Api处理,支持修复功能。

缺点:要花钱才能下载SDK

平台:https://jspatch.com/

开源篇:https://github.com/bang590/JSPatch/wiki/JSPatch-%E5%9F%BA%E7%A1%80%E7%94%A8%E6%B3%95

实现原理:https://github.com/bang590/JSPatch/wiki/JSPatch-%E5%AE%9E%E7%8E%B0%E5%8E%9F%E7%90%86%E8%AF%A6%E8%A7%A3

3.原生+Weex

Write once, use Anywhere

Weex原理

1.Weex 文件分包打包成单个 JSBundle 文件

2.发布到发包服务器上,通过热更新 push 到用户的客户端,交由WeexSDK执行解析

3.SDK 中的JS Framework执行 Bundle 脚本生成 Virtual DOM

4.Virtual DOM 经由各端执行环境Weex Runtime解析翻译成执行指令

5.Native RenderEngine接收到指令后执行渲染操作,作出渲染出完整的界面

iOS 热修复热发布分析_第1张图片
Weex

基于weex的考拉移动端动态化方案

https://juejin.im/post/5a534b64518825732d7f725e

网易严选 App 感受 Weex 开发

https://segmentfault.com/a/1190000011027225


4.原生+React Native

Learn once, write anywhere

开发资源多,社区活跃,迭代版本很多了,相对稳定

你可能感兴趣的:(iOS 热修复热发布分析)