Electron-builder 果子签名与公证疑难杂症全攻略

Electron-builder 果子签名与公证疑难杂症全攻略
Dev.024本文将介绍从 0 到 1 如何把使用 Electron 的軟體进行签名(Code Sign)与公证(Notarize) ,打包工具使用的是 Electron-builder。 对了軟體不会在 Mac App Store 上架,本文不适合需要上架的读者。
开始前,你得拥有 Apple Developer Program 的相关权限与资格,如果没有还不赶紧去申请一个?
Apple 开发者账号申请
博主呢在申请开发者账号的时候也遇到了点小问题,应该算是 Apple Developer 部门的锅吧。在 App 提交个人信息后居然出现了错误,需要联系开发者支持部门进行后续操作。
那咱就拨过去呗,对方各种话术说的倒是很好听,不过也听了这么多年了。感觉还是解决问题才是最重要的。 他们换了三四个客服代表都不能解决这个问题,最后才肯帮我转到高级客服。到最后连高级客服都没办法解决了,说是给转到运营部门进行处理。但是处理没处理咱也不知道,咱就是过了几天收到了 Apple Developer 软件的更新。更完就正常了。
哦对了,再提一嘴。申请企业资格的账号需要邓白氏(Duns)编号,跟着果子的提示做就好了。果子甚至还给你买了个 800 块的加急服务。有钱就是好啊 不过我看淘宝网上也有卖这个加急服务的,难道是同一个渠道?赚了个信息差。。?
到这里你已经有了果子的开发者资格,然后去申请一个侧载的证书。按照网上说的是只需要给软件签名就好了,不需要给安装包也签名。所以我们只要一个 Developer ID Application 就好了
下载生成的证书到电脑,导入到钥匙串。且先导出证书为 p12 格式,后续需要用到。
有好奇的宝宝就要问了,为啥我的证书是显示不受信任啊。 这一步一定要解决,否则后面会报错证书链错误
我们来到这个地址 点我跳转 下载并按照刚才的方法导入证书。
导入完成后,证书应该是显示 此证书有效了。
Electron-Builder 的配置
这里没有太多技巧,直接修改配置文件就可以了
electron-builder.yml 关于 mac 的配置
1 | afterSign: addon/notarize.js |
/addon/entitlements.mac.plist 的配置
1 |
|
/addon/notarize.js 配置,需要安装 @electron/notarize
1 | exports.default = async function notarizing(context) { |
上面操作完直接 yarn build:mac 就可以了。请注意,mac 的公证是相当的长,网上其他博主说是 5 分钟,稍微比这个时间长了点。并不是有什么东西没有配置好,等着公证就好了。
哥们你没看错,就离谱到能签 6 小时。所以还是等着吧。能摸 6 小时鱼不爽吗?不过也不要怕,最近可能 iPhone16 发布,整个果子内部系统都是混乱的。第二天试了下大概 10-20 分钟搞定。
并且网络要求非常高,如果有某个片段因为网络问题没有上传,则会直接报错。
这里呢推荐使用 日本,美国 两地的线路进行上传,香港 ip 的好像会被解析到印度 aws 服务器,绕一大圈呢。