开启辅助访问
 找回密码
 立即注册

如何看苹果宣称将来会对 H5 以及热更新的 App 采取更加严格 ...

anackalee 回答数5 浏览数685
简单说就是html5为主的app,苹果建议你以后别上app store了,苹果要求app的内容都放在binary,二进制包内,那意味着以后以web技术(html,js)为主的app,将会面临比较大的审核困难,因为html和js很容易通过外接的形式将内容导入app,这明显违背了苹果的上架条款,所以这次苹果明确指出,html5的app,将会有比较大的审核困难,也就是可能会难以上架,苹果建议html为主的应用通过safari访问,而非app store
如何看这一举措
使用道具 举报
| 来自北京 用Deepseek满血版问问看
52330 | 来自北京
有利有弊,不过我最希望把微信号小程序下掉,从技术角度讲小程序就是害群之马,早死早超生
用Deepseek满血版问问看
回复
使用道具 举报
niemiao | 未知
其实在 Web 界,苹果也是一直很反对 PWA 的,因为这会直接削弱它的闭环生态,进一步影响 app store 的收入。
但问题在于这都 2019 年底了,PWA 的亲爹 Google 的商店就不说了,连微软、三星都在自家商店加入了对 PWA 的支持,看上去 PWA 的未来大势所趋得一塌糊涂,苹果自家的 Safari 也不情不愿地上了车,那离 PWA 入驻 app store 还有多远呢?这玩意天然的 H5,一旦入驻,到时候热更新根本由不得苹果来审核了。
所以我觉得,苹果可能会一直保持对热更新 App 的严格审核,但对 H5/PWA 最后会不情不愿地另开一条路。
回复
使用道具 举报
ooppnn | 来自天津
我觉得以后连js调用都需要权限说明了。这是好事,一大波创业公司又要洗牌。
回复
使用道具 举报
prinne | 来自吉林
感谢 @圆胖肿 的邀请
实际上,苹果早就对这种事深恶痛绝,做过iOS开发的都知道,私活里面曾经比较火爆的,是壳。实际上套壳上架就是在躲避苹果的审核。需要套壳的,基本上都是违反苹果开发者协议,或者直接违法的APP。躲避审核的另外一个方法是热更新。
苹果在2016年曾经更新了一条规则
2.5.2 Apps should be self-contained in their bundles, and may not read or write data outside the designated container area, nor may they download, install, or execute code, including other iOS, watchOS, macOS, or tvOS apps.
也就是说,苹果在16年的时候就已经决定这么做了,所有APP的执行代码,都必须在审核的时候就在里面,不能下载执行代码。
然而到了17年上半年,苹果才给JSPatch、Rollout、React Native、Weex发警告信,表明了自己的态度,要求关闭热更新功能。
但是苹果一直没有对H5出手,实际上H5才是热更新最方便的APP,因为根本没啥代码啊……
终于,苹果发了这么一个信息,明年3月是底线


你问我怎么看?
我还能怎么看?
我Flutter无所畏惧

回复
使用道具 举报
ghwaq | 来自广东
这个问题我是看到 @天国的502 说的
那我们是这样看这个问题的
这对于web技术来说,这可不是什么好消息,因为苹果很明确地点出了html5的app不受欢迎
而苹果要求app的内容全部包含在binary也就是二进制内容里面
这意味着什么呢?意味着你要做aot了,你编程语言可以多样化,但是最终你提交给app store的,必需是binary,二进制包
那flutter和javafx这些本来就要做aot才能上app store的工具是一个利好,aot就是编译成binary
应该这么说,苹果的审核原则是,你要把所有内容全部放在app里面,这是一,其次,做成binary二进制,而不是动态的东西,比如各种markup language,或者脚本script language,或者那些编译成中间码的东东,比如java的bytecode,苹果原则上都不允许这些东西上app store
所以你看新闻里面明确指出,要求将所有内容放在binary二进制包内
This means that the core features and functionality of the app must be contained within the binary of the software, rather than made possible by referring users outside of the approved app, including through the use of HTML5.
特意点出来binary,而且特意指出html5不受欢迎
而其他的脚本,java的字节码这些,其实介于两者之间,虽然没有被点明,但是这些东西,是可以通过网络下载,然后将其执行的,这是可以的,但是就看苹果能不能发现了,而且苹果是人工审核,所以这个尺度也有浮动,苹果其实对待web内容的态度是,去safari,去浏览器,而不是套了个壳上app store,app的归app,web的归web
但是我们可以明确几点
1)binary没问题,可以过,flutter,javafx上架app store都是做aot,aot之后的产物就是binary,这个没问题,swiftui就更没问题了
2)html5不行,那就看苹果能否发现html5了
3)不是说你app里面不用就没问题,苹果的态度是,只要有可能,就不行,也就是说,你不能提供这么一个解析这些动态代码的机制在你的app里面,比如你在里面放一个js engine,这个理论上就是有可能用作执行外部代码的,jvm也是,解析html,xml的就更是了,但是这个苹果未必能发现
不过我建议还是别去挑战苹果的审核比较好,老外审核一般都是有很多漏洞,但是老外从来都是,秋后算账,只要发现经常是连同账号一起给封了,而不是下架app那么简单,好像前几个月苹果杀了一批账号,具体原因不确定是不是跟这些有关,但是不排除这种可能性
为了这种东西,赔上个账号不值当,账号被封了,以后再申请就难了,尤其是公司账号,如果挂掉了,那就麻烦了,像Google这种,封一次就再也不合作了
所以html画界面的搞法看来是没戏了,至少app store上是不行了
苹果现在给出的期限是明年三月,那我们明年三月再来看
到时候看到底这些app会怎么处理,我觉得早死早超生,何必在这种问题上死磕,赶紧换flutter之类的才是王道
回复
使用道具 举报
快速回复
您需要登录后才可以回帖 登录 | 立即注册

当贝投影