热更新技术背景
1.热更新定义,APP热更新,就是指软件不通过苹果APP Store的版本更新审核,直接可以自行更新的技术。(JSPatch是iOS端使用最为广泛的热更新框架,本文也是以JSPatch为基础讨论的)
2.热更新APP被拒绝原因,为什么JSPatch被拒绝,而RN/Weex/小程序等没有被拒绝?
若从苹果的审核规则来看,JSPatch 和 React Native 是一样的,但苹果接受 React Native,拒绝 JSPatch,主要是因为JSPatch 可以通过 JS 脚本调用和替换任意 OC 方法,像 React Native/Weex/ 小程序这样对于原生API的调用是有限的,出于安全和滥用方面的顾虑而拒绝。 详细说明 (http://blog.cnbang.net/internet/3374/)
3.目前热更新的状态
JSPatch平台依旧存在,做了简单的类名修改混淆,所以可以通过苹果审核,并且进行了一下优化,保证安全问题:
1)所有接入 SDK1.7 以上版本的 APP 必须使用自定义 RSA 密钥。
2)平台不支持 SDK 接入,只允许普通 App 接入
3)平台已经实现补丁内容里的私有 API 调用审查,下发脚本时后台会进行扫描,若有调用私有 API,会出现提示并禁止下发
iOS 热更新解读(一)APatch & JavaScriptCore
iOS 热更新解读(二)—— JSPatch 源码解析
网友评论