炸窝了,苹果禁止使用热更新


http://blog.csdn.net/h643342713/article/details/60874153


今天一早,不少iOS开发群都炸窝了,原因是部分iOS开发者收到了苹果的警告邮件:

369.png

有开发者质疑可能是项目中使用了JSPatch、weex以及ReactNative这些热更新技术。对于修复bug提交审核的开发者来说,热更新技术可以帮开发者避免长时间的审核等待以及多次被拒造成的成本开销。但也给黑客留了后门,也就违反了苹果的安全和隐私政策。

不过这次苹果只是对使用热更新的应用进行了警告,并没有开发者反应产品因此问题被下架。

对此,开发者表示:

舞小月:苹果注重的就是流畅性和用户体验,混编做的东西肯定没有native的流畅,这就违背了苹果本来的意愿,被禁也是正常的,而且苹果自己的蛋糕为何要分给竞争对手?以前没混编的时候你该怎么做不还是做了,现在没有,不代表以后没有,就像之前没有混编,后来有了混编。新的框架苹果自然也会去完善,苹果既然做了这个决定,他肯定会优化自己的东西。

Gilbertat:苹果爸爸会不会在自己的生态中搞死js啊

luohui8891:我们也是昨天收到的,目前没有什么对策。我们的APP只是用JSPatch做热修复,并不修改应用的功能行为等(但我觉得Apple并不care这个)。

lsllsllsl:没用RN没用JSPatch,同样收到警告。

luohui8891:@tcathy 根据邮件里说是你下次提交前请去掉这样远程下载代码运行的机制。所以应该就是下个版本如果不删除就reject

Loooren:早上收到邮件,itunesconnect站内信,电话通知....用到了weex

xiaofuyesnew:昨天晚上微软发布了Visual Studio 2017,自带基于React Native的iOS开发功能。鉴于微软这两年来开源的力度,发布这一功能似乎是在抢占开发者的市场,基于vs2017,在非苹果上开发ios应用更容易了。所以,苹果在这个节骨眼发出这个警告邮件,就有点威胁现有开发者的意思。暗地里想跟微软互怼。

对于那些已经在学习RN、weex、JSPatch的同学来说,这是个悲惨的故事

77.png

18b000053fece03ce3ac.jpg

从苹果的角度看,禁止应用使用热更新技术更多是为了保护用户隐私、数据安全以及其全力打造的生态圈。对于用户来说,出于安全起见,应谨慎授予应用权限;对于开发者来说,为了审核以及长远的用户体验考虑,不要轻易触碰苹果拉的那条红线。

21_564751_3e14598ea30142d.jpg

随后JSPatch群里 ,github上都炸了锅 : https://github.com/bang590/JSPatch/issues/746

React-native 的情况 :https://github.com/facebook/react-native/issues/12778

Weex ::https://github.com/alibaba/weex/issues/2875

突然爆发并非偶然,苹果的审核指南一直明确,禁止下载可执行代码,虽然JSPatch等库使用了JavaScriptCore来巧妙的实现,但也不是长久之计,很多开发者不自觉的使用其来下发私有方法等等行为迟早会被苹果发现。也极大的威胁到了极其注重安全的苹果

再有就是一切涉及到网络的都会有安全的风险

还有一个有意思的事实,昨天VS2017发布,号称内置iOS模拟器,直接开发React Native:

所以很多人也得出了一个灾难性结论"苹果封杀混合开发",JSPatch等热更新是误伤....

总结下波及到的库

rollout,react native,weex,JSPatch,bugtags,个推 ,bugly with hotfix


以上内容来源于CocoaChinaGitHubhttp://www.skyfox.org/apple-2017-hot-patch.html



原文地址:https://www.cnblogs.com/ztguang/p/12644928.html