第一步:导出两个证书的p12打包pkg
分别是Developer ID Application、Developer ID Installer证书
打包的人的设备安装后,需要安装两个中间证书,不然钥匙串内会有红字提醒信任
下载证书:
Developer ID - G1 (Expiring 02/01/2027 22:12:15 UTC)
Developer ID - G2 (Expiring 09/17/2031 00:00:00 UTC)

这两个中间证书安装完,钥匙串中Developer ID Application、Developer ID Installer两个证书信任里即便是使用系统默认配置也不会出现红字提醒了。
第二步:生成凭据
通过第一步两个证书已经可以打包出pkg安装包了。但是点击安装还是提示未打开"***"Apple无法验证"***.pkg"是否包含可能危害Mac安全或泄漏隐私的恶意软件。
然后就需要做公证
开发者账号生成App专用密码,
执行命名:
xcrun notarytool store-credentials "NotaryProfile" --apple-id "你的开发者邮箱@shturl." --team-id "你的teamId"
回车后提示输入密码,就是刚生成的专用密码,成功后凭据就存入了本机钥匙串
注意:凭据不是在证书列表里,关键字可以搜索:com.apple.gke.notary.tool

第三步:公证
执行公证命令,文件名***换成真实的
xcrun notarytool submit ***.pkg --keychain-profile "NotaryProfile" --wait
如果输出:status: Invalid
说明安装包有问题,执行命名查看问题日志:
xcrun notarytool log f4468180-a4bd-406f-95bc-43fc513388c8 --keychain-profile "NotaryProfile" notary_error.json
执行完会在当前目录生成 notary_error.json,打开这个 json,找到 issues 数组,里面就是苹果返回的详细错误信息。
成功会输出:status: Accepted
第四步:装订
**公证只是苹果云端记录,必须执行 stapler 把票据嵌入 pkg**
如果跳过 stapler:用户 Mac**离线状态**安装时,Gatekeeper 无法联网查询苹果公证记录,依旧弹出「Apple 无法验证」警告。
执行装订命令,文件名***换成真实的
xcrun stapler staple ***.pkg
成功会输出:
Processing: /Users/liyongji/Desktop/***.pkg
The staple and validate action worked!
这一步做完,双击pkg就不会弹出安全拦截弹窗了。