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

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

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阅读 173,333评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,933评论 18 139
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,241评论 4 61
  • 一个原本打算3-5人完成的助学捐款活动,在群里发出后吸引来了很多家庭,最终我们16个家庭相聚出发了。在出发前几天...
    萱_b58a阅读 650评论 0 4
  • 01 看胡歌的《猎场》,郑秋冬出狱后冒名顶替他人身份,重新开始生活。 他全方位的为这个新身份做准备。 这个过程,有...
    丽姐姐在路上阅读 374评论 0 0