背景
一个electron的应用想打包成跨平台的应用,支持windows与mac的使用,并且发布到steam
OS:Macos big sur 11.2.3
Hardware:M1 8g
项目脚手架:https://github.com/umbrella22...
坑
mac应用打包以后发给他人会出现无法使用的情况,提示无法验证开发者
届时表明apple需要验证开发者,自然的了解到需要对代码进行签名(code-signing)
1.申请证书
必须:developer id application
csr -> cer -> download
检查证书是否有效:security find-identity -v -p codesigning
,有第二个就表示可以了
如果发现没有刚安装的证书,从系统自带的钥匙串访问内检查是否是证书不被信任
下载并安装红框内两个证书即可解决。
2.electron build签名
感谢这些大佬的文章:https://oldj.net/article/2019...
跟着一步一步设置即可,成功签名
3.上传公证
跟着上述步骤进行上传公证时,也许上传失败
搜了半天没办法绕过xcode,还是需要安装一个xcode
⨯ Failed to upload app to Apple's notarization servers
xcrun: error: unable to find utility "altool", not a developer tool or in PATH
安装以后,还是不断报错,有两种情况:要么是拿不到keychain,要么是appleid被locked;
参考https://stackoverflow.com/que... 解决keychain问题
第二个问题使用终端命令完成上传公证
altool --notarize-app -f <file> --primary-bundle-id <bundle_id> {-u <username> [-p <password>] | --apiKey <api_key> --apiIssuer <issuer_id>} [--asc-provider <provider_shortname> | --team-id <wwdr_team_id>]
成功以后会返回一个UUID
之后就可以利用UUID,通过下面的指令查看结果了
altool --notarization-info <uuid> {-u <username> [-p <password>] | --apiKey <api_key> --apiIssuer <issuer_id>}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。