热更是被误伤?开发者:别打补丁了,还是往提高APP稳定性上努力吧
近日,苹果“热更门”原委在各方的猜测、质疑、辟谣中逐渐清晰。梳理各方发声后认为:长远来看,热更一定程度威胁苹果一贯重视的安全红线。但此次并非全面被禁,开发者需适应苹果接下来的新框架,逐渐跳出混编,往提高APP稳定性上努力。
苹果主要针对下发代码 热更技术并非完全被禁
≥观察,目前为止收到苹果警告邮件的开发者绝大部分使用了JS-Patch 或 Rollout 类库,而集中在第三方 SDK 中未采用上述框架的热更新技术目前为止并未受到影响。另一方面,绝大部分游戏引擎由于并没有调用这些类库,也没有受到影响。
后续事态是否进一步扩大?有开发者分析,既然苹果在 iOS 7中引入新的 JavaScriptCore 框架,必然是认为在 APP 里执行 JS 对于整个 iOS 生态是有益的。所以目前的警告只是要解决掉引入这个框架后带来的滥用问题。从各方的反馈来看,苹果这轮狠抓的是下发代码,而不是针对用 JS 代码编写业务逻辑。只是在这个风口,基于这个技术的框架刚好很容易就提供了下发代码执行逻辑的能力,所以各方很容易被推到灯光下。
此番警告或与微软vs2017发布有关
前几日,微软发布了自带基于React Native iOS开发功能的Visual Studio 2017。鉴于微软这两年来开源的力度,发布这一功能似乎是在抢占开发者的市场。对开发者而已,基于vs2017在非苹果上开发ios应用更容易了。所以,苹果在这个节骨眼发出这个警告邮件,或有威胁现有开发者暗地里想跟微软互怼的意味。
—发者急救指南——忘了热更新 适应新框架
≥了解,本次事件中,使用了 rollout,react native,weex,JSPatch,bugtags,个推 ,bugly with hotfix库的APP会被苹果审核盯上。针对被警告的开发者,JSPatch 作者bang发文给出缓解办法:“目前来看,开发者可以通过减少使用人数,降低影响面;禁止 SDK 接入;接入保证传输安全和只用于修复 bug等方式来解决,可以的情况下JSPatch可以试图与苹果审核团队协商。”
另外,有开发者认为这是苹果对混编的封杀,但据综合了解,这只是苹果新框架的优化调整。苹果一直注重流畅性和用户体验,混编必然没有native的流畅,这就违背了苹果本来的意愿,被禁也属正常。而苹果既然做了警告决定,后续的生态它肯定会自行优化。
总结
综合来看,对苹果而言,禁止应用使用热更新技术更多是为了保护用户隐私、数据安全以及其全力打造的生态圈。对于用户来说,出于安全起见,应谨慎授予应用权限;对于开发者来说,为了审核以及长远的用户体验考虑,不要轻易触碰苹果拉的那条红线,要知道,苹果是百分百不愿意代码绕过审核被下发的,无论是修bug,还是一个小功能。
从更长远的角度看,开发者需要斟酌的是,下发代码这件事是不是真的影响到App运行,是否是非做不可的?进一步来看,如果碰触底线被发现而面临Apple ID被封杀,更是得不偿失。因此,有开发者建议:“聪明的人应该已经在如何提APP稳定性的道路上努力了。如果可以忘了HotPatch这件事吧。”