Skip to main content

Macos应用程序代码签名

代码签名需要到苹果开发者中心订阅688/年的功能,

  1. 创建Developer Application ID的证书(此操作只能账号持有者或管理员权限的人操作,开发者是没有权限)
  2. 导出p12格式的证书
  3. 在ci的机器上导入p12格式的证书,最好是单独建一个keychain
  4. 每次构建前先解锁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

参考资料: