作者:@王哲 Walzer
这两天苹果和微软互怼,用脚本热更新的朋友要谨慎过 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。恩,你懂的。