聊聊electron Mac APP 公证的那点事

编程入门 行业动态 更新时间:2024-10-12 08:19:32

聊聊electron Mac APP 公证的<a href=https://www.elefans.com/category/jswz/34/1756902.html style=那点事"/>

聊聊electron Mac APP 公证的那点事

1.什么是公证

从MacOS 10.14.5开始,所有“新”开发人员签名的App都需要进行公证(Notarization),否则将触发苹果的Gatekeeper,阻止用户安装你的App。这意味着,除了对 App 进行签名,还需要对其进行公证。如果你尝试启动应在MacOS 10.14.5上未经公证的Appp,则会看到以下的错误消息:

无法打开“”,因为Apple 无法检查其是否包含恶意软件。

2、公证中遇到的错误

2.1 公证遇到了同样的配置公证不成功的

报错信息如下:

通过苹果官方文档查阅解决方案如下:

但是按照这种方案处理后依然没有解决

2.2 通过查阅其他资料:

 在添加公证时,苹果偷偷加入了一项要求,即App的 runtime 必须是 hardened runtime ,这在默认情况下会减少应用程序的权限 于是便在配置中添加了hardened runtime 

添加后公证,报错缺乏权限文件

2.3 通过查阅electron 官方文档 给出了配置文件

文档如下 :

“osxSign”: { “identity”: “Developer ID Application: Felix Rieseberg (LT94ZKYDCJ)”, “hardened-runtime”: true, “entitlements”: “entitlements.plist”, “entitlements-inherit”: “entitlements.plist”, “signature-flags”: “library” }, “osxNotarize”: { “appleId”: “felix@felix.fun”, “appleIdPassword”: “my-apple-id-password”, }

同时给了权限文件:

按照这个配置 公证通过 但是新的问题出现了: 应用打开直接闪退

查阅很多资料,配置都是如图。于是考虑过electron版本过低,于是尝试升级electron版本,升级node 环境,在升级后 依然有闪退的问题, 问题没有得到最终的解决。

3、最终解决方案

最后考虑配置问题,在网上搜集一些关于electron的技术论坛: 看到一些信息,有个讨论说 父权限和子继承的问题,于是把配置文件改成了两个权限文件打包,对整体APP进行父权限签名 ,在签名公证后 苹果官方返回公证信息,然后对这些子目录权限在进行单个签名 并用子权限文件进行签名

再次打包公证 最终公证通过
欢迎参与讨论聊聊electron Mac APP 公证的那点事

更多推荐

聊聊electron Mac APP 公证的那点事

本文发布于:2024-02-13 20:31:20,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1760449.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:那点   electron   Mac   APP

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!