electron应用在macOS上代码签名
JiaoXin2005 9/14/2021 JavaScript
# 背景
在 macOS 上,基于electron-builder (opens new window)进行打包时,可以不进行代码签名,但是带来的问题是无法进行自动更新。
# 解决步骤
- 申请 Apple 的 Developer ID Installer 这个类型的证书。
- 配置环境变量,或者直接安装导出的 .p12 证书
# 证书的选择
这里有点坑,经过查看 electron-builder 的源码 (opens new window),发现其使用electron-osx-sign (opens new window)进行代码签名的。
查看其wiki (opens new window)的使用文档,由于不上 App Store 进行分发,选择下面这两种证书的类型:Developer ID Installer 和 Developer ID Application:
(opens new window) 补充资料:macOS 开发 证书等配置/打包后导出及上架 (opens new window)
# 配置环境变量
到了这步,那应该有以下几个文件:application.p12、installer.p12、xxxxx.provisionprofile。 配置环境变量,修改 ~/.zshrc
export CSC_LINK=application.p12
export CSC_KEY_PASSWORD=your_p12_password
1
2
2
也可以在 electron-builder 的时候,修改 process.env
process.env["CSC_LINK"] = application.p12;
process.env["CSC_KEY_PASSWORD"] = your_p12_password;
1
2
2
最后配置 electron-builder:
mac: {
provisioningProfile: './xxxxx.provisionprofile'
}
1
2
3
4
2
3
4