Macos应用程序代码签名
代码签名需要到苹果开发者中心订阅688/年的功能,
- 创建Developer Application ID的证书(此操作只能账号持有者或管理员权限的人操作,开发者是没有权限)
- 导出p12格式的证书
- 在ci的机器上导入p12格式的证书,最好是单独建一个keychain
- 每次构建前先解锁keychain
在gitlab-ci中使用代码签名
# 钥匙串访问密码
KEYCHAIN_PASSWORD=""
CERT_PATH="certs/mac_signing.p12"
CERT_PASS=""
# 1️⃣ 创建 keychain(仅首次)
security create-keychain -p "${KEYCHAIN_PASSWORD}" gitlab-ci.keychain
# 2️⃣ 禁止自动锁定(或设置超时时间)
security set-keychain-settings -lut 0 gitlab-ci.keychain
# 3️⃣ 解锁
security unlock-keychain -p "${KEYCHAIN_PASSWORD}" gitlab-ci.keychain
# 4️⃣ 导入证书(仅首次)
security import ${CERT_PATH} -k gitlab-ci.keychain -P "${CERT_PASS}" -T /usr/bin/codesign
# 5️⃣ 授权 codesign 访问私钥
security set-key-partition-list -S apple-tool:,apple: -s -k "${KEYCHAIN_PASSWORD}" gitlab-ci.keychain