这两天苹果和微软互怼,用脚本热更新的朋友要谨慎过iOS审核。
早上有Q群里面在讨论最近用JavaScript做为脚本层,在苹果商店审核遭拒的情况。
从目前多数信息来看,cocos2d-js和creator这样用SpiderMonkey + JSB技术栈的游戏情况尚好,但是用facebook React-Native技术的无一例外躺枪了。用jspatch开源库的也很多兄弟阵亡。
就在今天早上,Facebook的React-Native github仓库里有这么一条issue:https://github.com/facebook/react-native/issues/12778,瞬间被无数开发者刷爆。
更有开发者挖出了了苹果爸爸拒绝使用React Native的app其背后可能的「真正原因」:
昨天晚上微软发布了 Visual Studio 2017 (详情),自带基于React Native的iOS开发功能,鉴于微软这两年来开源的力度,发布这一功能似乎是在抢占开发者市场。结果就是有了VS2017,在非苹果上开发iOS应用更容易了。所以,苹果在这个节骨眼发出这样的警告邮件,其实暗地里就是要和微软互怼。
在苹果开发者条款下:
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的,这个没问题。
但使用脚本进行热更新,这是违反苹果开发者条款的。
当然国内绝大多数iOS手游,不论是Cocos还是Unity,大家都在用热更新功能,腾讯和网易也大量使用脚本对游戏进行小版本热更新。苹果爸爸一直对于这个事情么,睁一只眼闭一只眼,反正大家也没干什么坏事,只是为了提高用户体验 —— 这点和苹果的利益出发点是高度一致的。
但是在今天苹果和微软互怼的这个节骨眼上,各位使用脚本热更新、提交iOS审核的朋友还是要多谨慎了,尤其是避免使用处于风口浪尖上的React Native。恩,你懂的。