测试动态 / 行业资讯 / Mac App Store 拒绝使用 Electron 6 (or 7) 开发的应用
Mac App Store 拒绝使用 Electron 6 (or 7) 开发的应用
2019-11-07 作者:局长 浏览次数:2347

近日一名开发者在博客分享了自己提交应用(基于 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 框架的行为,并非应用执行的,而且 Electron 框架使用这些 API 已经有好几年了。但由于近期苹果更新了服务端的应用审核流程,能检测和识别出这些违反其应用审核规定的私有 API,最后导致开发者的应用无法通过审核。

苹果的这次举动不禁让人回想起当年对一些使用热更新框架的应用的“警告”。

当时苹果向所有开发者推送警告邮件,宣布未来将禁用 APP 内部的“动态分发”功能,并要求开发者在自家 APP 中删除 JSPatch 相关框架,否则 APP 将面临下架或禁止上架。

结合此次的事件来看,其实这一切都十分符合苹果的一贯作风 —— 让所有事情可控、保证安全。开发者能用什么不能用什么都尽量在自己的控制范围内。大多数开发者使用热更新框架修复 bug,或者弄一些临时的小功能配置,这些没有问题,但总会有少数开发者借此去调用私有 API 以实现某些不当企图,这正是苹果不可控的。

因此在此次事件中,我们也就不难理解苹果为何会严厉禁止调用私有 API 的应用。

相关链接

文章转载自 OSCHINA 社区




精彩推荐:

这些浏览器差异,测试跨浏览器兼容性时一定要注意

测试人员必备:全球最好用的7款Bug管理软件

盘点那些喜闻乐见的航空bug价事件

印象笔记被曝严重Bug,数百万用户数据恐遭泄露!

游戏Bug是一种怎样的存在?细数那些让玩家心情复杂的Bug!

热门标签 换一换
软件崩溃 稳定性测试 API测试 API安全测试 网站测试测评 敏感数据泄露测试 敏感数据泄露 敏感数据泄露测试防护 课题软件交付 科研经费申请 软件网站系统竞赛 竞赛CMA资质补办通道 中学生软件网站系统CMA资质 大学生软件网站系统CMA资质 科研软件课题cma检测报告 科研软件课题cma检测 国家级科研软件CMA检测 科研软件课题 国家级科研软件 web测评 网站测试 网站测评 第三方软件验收公司 第三方软件验收 软件测试选题 软件测试课题是什么 软件测试课题研究报告 软件科研项目测评报告 软件科研项目测评内容 软件科研项目测评 长沙第三方软件测评中心 长沙第三方软件测评公司 长沙第三方软件测评机构 软件科研结项强制清单 软件课题验收 软件申报课题 数据脱敏 数据脱敏传输规范 远程测试实操指南 远程测试 易用性专业测试 软件易用性 政府企业软件采购验收 OA系统CMA软件测评 ERP系统CMA软件测评 CMA检测报告的法律价值 代码原创性 软件著作登记 软件著作权登记 教育APP备案 教育APP 信息化软件项目测评 信息化软件项目 校园软件项目验收标准 智慧软件项目 智慧校园软件项目 CSRF漏洞自动化测试 漏洞自动化测试 CSRF漏洞 反序列化漏洞测试 反序列化漏洞原理 反序列化漏洞 命令执行 命令注入 漏洞检测 文件上传漏洞 身份验证 出具CMA测试报告 cma资质认证 软件验收流程 软件招标文件 软件开发招标 卓码软件测评 WEB安全测试 漏洞挖掘 身份验证漏洞 测评网站并发压力 测评门户网站 Web软件测评 XSS跨站脚本 XSS跨站 C/S软件测评 B/S软件测评 渗透测试 网站安全 网络安全 WEB安全 并发压力测试 常见系统验收单 CRM系统验收 ERP系统验收 OA系统验收 软件项目招投 软件项目 软件投标 软件招标 软件验收 App兼容性测试 CNAS软件检测 CNAS软件检测资质 软件检测 软件检测排名 软件检测机构排名 Web安全测试 Web安全 Web兼容性测试 兼容性测试 web测试 黑盒测试 白盒测试 负载测试 软件易用性测试 软件测试用例 软件性能测试 科技项目验收测试 首版次软件 软件鉴定测试 软件渗透测试 软件安全测试 第三方软件测试报告 软件第三方测试报告 第三方软件测评机构 湖南软件测评公司 软件测评中心 软件第三方测试机构 软件安全测试报告 第三方软件测试公司 第三方软件测试机构 CMA软件测试 CNAS软件测试 第三方软件测试 移动app测试 软件确认测试 软件测评 第三方软件测评 软件测试公司 软件测试报告 跨浏览器测试 软件更新 行业资讯 软件测评机构 大数据测试 测试环境 网站优化 功能测试 APP测试 软件兼容测试 安全测评 第三方测试 测试工具 软件测试 验收测试 系统测试 测试外包 压力测试 测试平台 bug管理 性能测试 测试报告 测试框架 CNAS认可 CMA认证 自动化测试
专业测试,找专业团队,请联系我们!
咨询软件测试 400-607-0568