苹果终于对热修复下狠手了

今天早上上班,习惯性的先点开邮箱,发现苹果警告邮件一封。

Paste_Image.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均已翻车。
以下是公告:

  1.   iOS整体上从现在开始会强烈建议使用native code,对于hotfix更新形式会严格审查
    
  2.   针对hotfix模块的审核从代码层面进行,特定框架和方法再被使用审核时会被拒
    
  3.   对于此次审核要求升级,总体上会给所有开发者一定时间缓冲期进行修改和调整。但是如果长期不进行修改,那么已经上架的版本会被处理。
    
  4.   当前标准主要针对核心功能核心模块。对于内容运营向的动态模块,如HTML页面等,只要提交审核时有该模块,过审后通过服务器动态调整内容展示是没问题的。
    
  5.   主要考虑:避免涉及方法被开发者利用来屏蔽某些功能临时过审。
    
  6.   目前已知涉及方法包括:dlopen(), dlsym(), respondsToSelector:, performSelector:, method_exchangeImplementations(),
    

虽然当前所列方法主要针对JSPatch,市面上仍有其他动态更新框架。但从Apple反馈的核心思想来看,强制主要使用native代码是大趋势。建议各团队尽早准备,避免临时警告时来不及应对。

Paste_Image.png

下午看到这篇新闻:

Paste_Image.png

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 164,171评论 24 696
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 128,987评论 18 137
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 8,742评论 4 47
  • 一个原本打算3-5人完成的助学捐款活动,在群里发出后吸引来了很多家庭,最终我们16个家庭相聚出发了。在出发前几天...
    萱_b58a阅读 545评论 0 4
  • 01 看胡歌的《猎场》,郑秋冬出狱后冒名顶替他人身份,重新开始生活。 他全方位的为这个新身份做准备。 这个过程,有...
    丽姐姐在路上阅读 153评论 0 0
  • July 31st, 1978 My darling McGeorge, You said that things...
    孙悦悦悦悦悦阅读 818评论 0 1
  • 索引优点: InnoDB存储引擎相关的参数: 表分区: PARTITION BY 根据什么划分根据范围划分:CRE...
    尛尛大尹阅读 72评论 0 0