2楼 @akunamotata 2.7 Apps that download code in any way or form will be rejected
苹果不允许动态链接库,也不允许嵌入二次开发语言
但是你用js或者lua这样的脚本,你不让苹果发现,或者不大张旗鼓的来,其实没关系
js尤其没关系的原因是,在html大行其道的当下,苹果很难审核出来你的js是用在webview还是程序逻辑上
曾经做过动态加载framework
的实验,发现每次打包生成framework的时候,都会去签名验证
所以基本上是没办法动态链接。
脚本的话有Wax
,这里有一个阿里巴巴维护的64位版本https://github.com/alibaba/wax
JSPatch
还没研究过
游戏里面很多都是用lua
热更的,也没发现会有被拒绝的情况。
还是得开需求,评估一下值不值得做热更,没必要的话还是老老实实遵守规定
iOSProgramInformation43_15.pdf
3.3.2 An Application may not download or install executable code. Interpreted code may only be used in an Application if all scripts, code and interpreters are packaged in the Application and not downloaded. The only exception to the foregoing is scripts and code downloaded and run by Apple's built-in WebKit framework or JavascriptCore, provided that such scripts and code do not change the primary purpose of the Application by providing features or functionality that are inconsistent with the intended and advertised purpose of the Application as submitted to the App Store.
条款表示苹果不允许应用下载可执行代码,唯一例外是下载的代码是通过苹果内置的WebKit或JavascriptCore运行的。苹果认为这种代码不会改变原始应用的主要功能点。
所以动态库更新是有风险的。但在不改变应用功能的原则下或可被豁免。
推荐一个开源项目:Small