近日一名开发者在博客分享了本人提交运用(基于Electron 7开发的App)到Mac App Store的教训。
Electron是一个跨平台桌面运用开发工具,支持利用JavaScript, HTML和CSS等Web技术开发桌面运用。知名开源名目诸如GitHub打造的Atom编辑器和微软打造的Visual Studio Code编辑器均利用Electron开发。
因为此运用不是采用原生开发的运用,所以这位开发者为了能胜利将运用提交并经过Mac App Store的审核,他依据网络上的教程采用了Electron-Packager对运用停止打包。
不过开发者在依照教程操作后,却发现苹果的审核回复称无奈打开所提交的文件。他判别是审核者无奈打开来自elektro编辑器的文件(elektro是开发者提交的运用),由于他没有减少用户读取和写入的权限。通过以下的调整后,他再次提交了运用。
但是通过调整后再次提交照旧没有经过审核。对此,开发者示意一脸茫然。接着,他又提交了一款基于Electron名为trommel的运用。后果又是意料之中被拒绝了,不过这次却不测地收到了不同于之前的缘由:
可能看到,无锡微信小程序制作,苹果之拒绝这款运用是由于它利用了公有框架(non-public framework)。作者不是惟逐一名遇到此成绩的人,于是他向苹果反馈本人目前正在利用Electron开发运用,但不能更改任何这些公有框架的用法。
苹果对此的回应是,当提交的运用利用或引用了公有API就会被拒绝。假设开发者无权访问二进制文件或不确定如何删除有成绩的API,请与服务提供商联络以获取技术支持。重点来了,被拒空前,假设前面持续提交此运用时出现利用或隐藏公有API的情况,能够会导致Apple Developer帐户被禁用,并从App Store中删除所无关联的运用程序。
而这位开发者目后面临的情况是:因为调用这些API属于Electron框架的行为,并非运用执行的, 无锡app开发,而且Electron框架利用这些API已经有好几年了。但因为近期苹果更新了服务端的运用审核流程,能检测和辨认出这些违犯其运用审核规定的公有API,最后导致开发者的运用无奈经过审核。
苹果的这次口头不由让人回顾起当年对一些利用热更新框架的运用的“警告”。
当时苹果向一切开发者推送警告邮件,宣布未来将禁用APP内部的“动态散发”性能,并要求开发者在自家APP中删除JSPatch相干框架,否则APP将面临下架或制止上架。
联合此次的事情来看,其实这所有都非常符合苹果的一向作风——让一切事件可控、保证平安。开发者能用什么不能用什么都尽量在本人的控制范围内。大少数开发者利用热更新框架修复bug,无锡外卖小程序,或许弄一些暂时的小性能配置,这些没有成绩,但总会有多数开发者借此去调用公有API以完成某些不当企图,这正是苹果不可控的。
因此在此次事情中,咱们也就不难理解苹果为何会严峻制止调用公有API的运用。