英语轻松读发新版了,欢迎下载、更新

iOS动态库能不能动态从服务器上下载到应用里面加载?

akunamotata 发布于 2015年11月03日
无人欣赏。

有没有成功的经验,必须可以发布到app store上不被拒的。

共9条回复
wj2061 回复于 2015年11月03日

你不应该动这个歪脑子,这是严重违反苹果准则的行为!

akunamotata 回复于 2015年11月03日

1楼 @wj2061 哪款哪条违反?

wj2061 回复于 2015年11月04日

2楼 @akunamotata 2.7 Apps that download code in any way or form will be rejected

akunamotata 回复于 2015年11月04日

3楼 @wj2061 可很多Apps用动态下载的lua脚本更新模块啊,难道苹果的code光指OC了?

wj2061 回复于 2015年11月04日

4楼 @akunamotata 这方面没做过,不是很了解。等论坛高人解答。

adad184 回复于 2015年11月04日

JSPatch

Wax

你自己都知道可以用lua脚本更新了 为什么还要来问呢

tinyfool 回复于 2015年11月04日

苹果不允许动态链接库,也不允许嵌入二次开发语言

但是你用js或者lua这样的脚本,你不让苹果发现,或者不大张旗鼓的来,其实没关系

js尤其没关系的原因是,在html大行其道的当下,苹果很难审核出来你的js是用在webview还是程序逻辑上

liuchendi 回复于 2015年11月05日

曾经做过动态加载framework的实验,发现每次打包生成framework的时候,都会去签名验证

所以基本上是没办法动态链接。

脚本的话有Wax,这里有一个阿里巴巴维护的64位版本https://github.com/alibaba/wax

JSPatch还没研究过

游戏里面很多都是用lua热更的,也没发现会有被拒绝的情况。

还是得开需求,评估一下值不值得做热更,没必要的话还是老老实实遵守规定

galen 回复于 2016年05月20日

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

登录 或者 注册