热更新

DNA图谱 / 问答 / 标签

苹果强制关停热更新」,王者荣耀们还能愉快玩耍吗

霸王条款苹果对 App Store 第三方开发者下最后通牒,iOS 游戏或 App 若不移除“热更新”选项将可能在 6 月 12 日后被下架。其实早在今年 3 月,苹果就通知第三方开发者,如果他们继续调用“Hot Code Push(热更新)” SDK,那么他们的游戏或 App 就有可能被 App Store 拒之门外。苹果在对开发者的邮件声明中称:您的应用、扩展、和/或链接框架中的代码,将能够在 App Review 审核之后改变应用的行为或者功能。此举违反了《苹果开发者计划许可协议》的 3.3.2 章节以及《App Store 审查指南》的 2.5.2 章节之规定。当时有开发者表示,可能是这些游戏或 App 中的更新项目使用了 JSPatch、Weex、React Native 等“热更新”技术。这些“热更新”技术可以让其在对 iOS 游戏或 App 进行版本更新时,绕过 App Store 的更新项目审核,从而避免更新被拒的情况出现。毫无疑问,“热更新”具有两面性:一方面,开发者可以更加便捷地推送更新内容,而用户不仅可以直接在 App 或游戏中获取更新内容(例如《王者荣耀》和《阴阳师》中的游戏内容更新),同时还可以免去游戏或 App 的“全量更新”下载浪费。以一个 1GB 容量的游戏来论,“热更新”的下载内容可能只有不到 100M,而“全量更新”则需要你到应用商店去下载加入更新内容后的 1GB 容量新版本游戏。当然,苹果也在此前推出了针对 iOS 游戏或 App 的“增量更新(Delta update)”功能,即对 App Store 中放出的这些游戏或 App 的更新版本,你只需下载“增量更新”的部分即可。例如 1GB 容量的游戏,通过 App Store 需要下载的“增量”更新部分可能也就 100M,但走的是苹果审核路线,这与不受平台把控的“热更新”有本质不同。另一方面,鉴于“热更新”不受平台把控,所以 App 或游戏想为你更新什么内容,就可以更新什么内容,中间缺乏“审核者”的介入。例如,对于非法 App 或暴力游戏,在 App Store 的上架版本可能是合规化的内容,但其通过“热更新”后的内容却可能是非法或暴力的。此外,“热更新”还可能带来潜在的安全隐患,以及游戏或 App 运行过程中的不稳定性。综上,iOS 游戏或 App 开发者要么走“增量更新”的路线,要么就和苹果共同约定一个双方都可接受的“热更新”规范。目前来看,苹果对现有不受管控的“热更新” App 或游戏(主要是游戏)已经持相对坚决的反对态度,所以 iOS 游戏或 App 开发者可以重新回到“增量更新”的道路上。虽然手机网游为 App Store 贡献了极为可观的营收,甚至是中国区商店的绝对营收大头,但 App Store 的规则制定者终究是苹果。

炸窝了,苹果禁止使用热更新,JSPatch,weex,ReactNative怎么办

柏中世纪氯奶型板颖

如何看待苹果禁止jspatch热更新方案

首先说一下JsPatch实现的内部原理:JsPatch能做到通过JS调用和改写OC方法最根本的原因是 Objective-C 是动态语言,OC上所有方法的调用/类的生成都通过 Objective-C Runtime 在运行时进行,我们可以通过类名和方法名反射得到相应的类和方法,也可以替换某个类的方法为新的实现,还可以新注册一个类,为类添加方法。这里就不详细介绍runtime了,相关的资料我会在后续的博客里介绍,大家再等等吧。所以 JSPatch 的原理就是:JS传递字符串给OC,OC通过 Runtime 接口调用和替换OC方法。这个很容易理解,JS的作用只是一个信使的作用,具体实现还是得靠我们OC,所以说OC还是世界上最美的语言,哈哈。

苹果现在禁了热更新,那用wax+lua进行热更新会被禁么

由于lua作为开发脚本,本身能够调用的功能是确定、有限的,所以相对来说比较安全。重灾区为JSPatch和Rollout.io这两个框架,几乎100%收到警告邮件无一幸免。以上都是摘抄的,我是这么认为的,也相信苹果是流氓的,但不至于所有的都禁止了。

什么是热更新?热更新是什么意思

热更新是一种各大手游等众多App常用的更新方式。热更新就是动态下发代码,它可以使开发者在不发布新版本的情况下,修复 BUG 和发布功能,让开发者得以绕开苹果的审核机制,避免长时间的审核等待以及多次被拒造成的成本。2017年6月,AppStore审核团队针对AppStore中热更新的App开发者发送邮件,要求移除所有相关的代码、框架或SDK,并重新提交审核,否则就会在AppStore中下架该软件。扩展资料:在iOS中有两种App更新方式:一种是在AppStore内进行更新,更新时重新下载全部安装包;另一种就是热更新。用户只有在打开App时才会发现热更新包,更新时只需下载安装更新部分的代码,再次打开时即可。热更新最大的优点就是快,它可以绕过苹果方面的审核,更新通常只需一个晚上即可上线,另一大优点就是更新包较小,一般都在1M左右,用户不连接WiFi也可随意下载。参考资料来源:百度百科—热更新

苹果整治滥用「热更新」,王者荣耀们还能愉快玩耍吗

霸王中的霸王条款苹果对 App Store 第三方开发者下达最后通牒,iOS 游戏或 App 若再滥用“热更新”将可能在 6 月 12 日后被下架。其实早在今年 3 月,苹果就通知第三方开发者,如果他们继续滥用“Hot Code Push(热更新)” SDK,那么他们的游戏或 App 就有可能被 App Store 拒之门外。苹果在对开发者的邮件声明中称:您的应用、扩展、和/或链接框架中的代码,将能够在 App Review 审核之后改变应用的行为或者功能。此举违反了《苹果开发者计划许可协议》的 3.3.2 章节以及《App Store 审查指南》的 2.5.2 章节之规定。当时有开发者表示,可能是因为这些游戏或 App 中的更新项目使用了 JSPatch、Rollout.io 等不合规的“热更新” SDK。亦有消息称,苹果对合规的“热更新”技术框架,例如 React Native 等,并没有叫停。透过“热更新”,开发者可以更加便捷地推送更新内容,而用户不仅可以直接在 App 或游戏中获取更新内容,同时还可以免去游戏或 App 的“全量更新”下载浪费。以一个 1GB 容量的游戏来论,“热更新”的下载内容可能只有不到 100M,而“全量更新”则需要你到应用商店去下载加入更新内容后的 1GB 容量新版本游戏。当然,苹果也在此前推出了针对 iOS 游戏或 App 的“增量更新(Delta update)”功能,即对 App Store 中放出的这些游戏或 App 的更新版本,你只需下载“增量更新”的部分即可。例如 1GB 容量的游戏,通过 App Store 需要下载的“增量”更新部分可能也就 100M,但走的是苹果审核路线,这与不受平台把控的那些“热更新”技术有本质不同。对于那些被滥用的“热更新”技术框架(例如 JSPatch、Rollout.io 等),由于不受平台把控,所以 App 或游戏想为你更新什么,就可以更新什么。例如,对于非法 App 或暴力游戏,在 App Store 的上架版本是合规化的,但其滥用“热更新”技术框架后的版本却可能是非法或暴力的。此外,滥用“热更新”还可能带来潜在的安全隐患,以及游戏或 App 运行过程中的不稳定性。综上,iOS 游戏或 App 开发者下一步要么走“增量更新”的路线,要么就用符合平台要求的技术框架来进行“热更新”。虽然手机网游为 App Store 贡献了极为可观的营收,甚至是中国区商店的绝对营收大头,但 App Store 的规则制定者终究是苹果。

炸窝了,苹果禁止使用热更新,JSPatch,weex,ReactNative怎么办

开发者只需要在自己的APP中嵌入Weex的SDK,就可以通过撰写HTML/CSS/JavaScript来开发Native级别的Weex界面。Weex界面的生成码其实就是一段很小的JS可以像发布网页一样轻松部署在服务端,然后在APP中请求执行。

苹果全面禁止热更新是怎么回事,苹果全面禁止热更新

近日,苹果在中国市场可谓动作不断。先是禁用微信打赏功能,后又将禁用范围扩大,国内多家直播平台遭殃。在腾讯直言“和苹果之间只是一场误会”后,苹果在6月1日又放出大招,全面禁用热更新,正式将腾讯陷入两难的局面。据悉,苹果已经向所有开发者发送了警告邮件,宣布未来将禁用APP内部的“动态分发”功能,并要求开发者在自己APP中删除JSPatch相关框架,否则APP将面临下架或禁止上架,最终期限是6月12号。目前,国内很多APP都使用了JSPatch,其中就有腾讯的微信和QQ等王牌产品。此次苹果的态度非常明确,封杀热更新,全面收回APP更新的审核权限。由于“热更新”绕过苹果漫长的审核,直接通过服务器推送进行版本的迭代,因此被国内众多APP所采用。在苹果看来,这样的做法对用户的信息安全造成了极大的隐患,容易被黑客利用,因此要求IOS开发者移除相关代码,并重新提交版本审核。这将使苹果自身的系统更为封闭,保障IOS的可控性和安全性。

苹果禁止热更新了,JSPatch,RN等是不是不用学了

jspatch是违规了,肯定会禁止的。rn暂时还是安全的,苹果JavaScriptCore模块就是让js和oc通信的,所以rn是合法的,jspatch有点极端了,借助oc这个神奇的语言特性,完全可以实现了原生代码,比如吊个私有API,,这都是不合规的,rn很容易被苹果禁止的。

苹果为什么要禁止JSPatch等热更新技术

首先说一下JsPatch实现的内部原理:JsPatch能做到通过JS调用和改写OC方法最根本的原因是 Objective-C 是动态语言,OC上所有方法的调用/类的生成都通过 Objective-C Runtime 在运行时进行,我们可以通过类名和方法名反射得到相应的类和方法,也可以替换某个类的方法为新的实现,还可以新注册一个类,为类添加方法。这里就不详细介绍runtime了,相关的资料我会在后续的博客里介绍,大家再等等吧。所以 JSPatch 的原理就是:JS传递字符串给OC,OC通过 Runtime 接口调用和替换OC方法。这个很容易理解,JS的作用只是一个信使的作用,具体实现还是得靠我们OC,所以说OC还是世界上最美的语言,哈哈。