今天早上上班,习惯性的先点开邮箱,发现苹果警告邮件一封。
![](https://img.haomeiwen.com/i2759803/61393e460103859a.png)
what?什么鬼?
在苹果开发者条款下找到3.3.2:
3.3.2 Except as set forth in the next paragraph, and 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.
按照规定:
在应用/游戏里面使用Lua或JavaScript脚本是OK的,这个没问题。
但使用脚本进行热更新,这是违反苹果开发者条款的。
赶紧看看怎么回事,原来是项目里集成开源框架JSPatch的问题。发现各大app均已翻车。
以下是公告:
iOS整体上从现在开始会强烈建议使用native code,对于hotfix更新形式会严格审查
针对hotfix模块的审核从代码层面进行,特定框架和方法再被使用审核时会被拒
对于此次审核要求升级,总体上会给所有开发者一定时间缓冲期进行修改和调整。但是如果长期不进行修改,那么已经上架的版本会被处理。
当前标准主要针对核心功能核心模块。对于内容运营向的动态模块,如HTML页面等,只要提交审核时有该模块,过审后通过服务器动态调整内容展示是没问题的。
主要考虑:避免涉及方法被开发者利用来屏蔽某些功能临时过审。
目前已知涉及方法包括:dlopen(), dlsym(), respondsToSelector:, performSelector:, method_exchangeImplementations(),
虽然当前所列方法主要针对JSPatch,市面上仍有其他动态更新框架。但从Apple反馈的核心思想来看,强制主要使用native代码是大趋势。建议各团队尽早准备,避免临时警告时来不及应对。
![](https://img.haomeiwen.com/i2759803/038b0dea1b1a18ec.png)
下午看到这篇新闻:
![](https://img.haomeiwen.com/i2759803/de5098dd15a8c390.png)
网友评论