You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

未找到匹配iOS Development签名证书,GitLab Runner运行xcodebuild报错如何解决

No signing certificate "" found: No "iOS Development" signing certificate matching team ID " " with a private key was found

可行解决方案
  • 校验GitLab Runner的钥匙串权限与证书导入状态

    • CI环境下GitLab Runner默认以独立的gitlab-runner用户运行,仅将证书导入到你个人登录用户的钥匙串无法被Runner识别
    • 需要将包含私钥的.p12格式证书导入到Runner执行用户的钥匙串中,导入前先执行命令解锁钥匙串避免权限拦截:
      # 解锁当前用户钥匙串
      security unlock-keychain -p <你的钥匙串密码> ~/Library/Keychains/login.keychain-db
      # 导入p12证书,授权所有应用访问
      security import <你的p12证书本地路径> -P <p12文件导出密码> -A -t cert -f pkcs12 -k ~/Library/Keychains/login.keychain-db
      
    • 导入完成后执行security find-identity -v -p codesigning,确认输出列表中存在你所使用的iOS Development证书
  • 核对描述文件与证书的匹配关系

    • 项目使用的描述文件必须和当前签名证书、Team ID、测试设备UDID绑定,你需要将对应描述文件放到Runner用户的~/Library/MobileDevice/Provisioning Profiles目录下
    • 导出p12证书时必须同时选中证书与对应的私钥一起导出,仅导出公钥.cer文件会导致私钥缺失触发报错
  • 给xcodebuild命令显式指定签名参数
    避免xcode自动匹配签名配置失败,在原有命令基础上补充签名参数:

    xcodebuild -project Unity-iPhone.xcodeproj \
    -scheme Unity-iPhone \
    -archivePath ./dist \
    CODE_SIGN_IDENTITY="iPhone Developer" \
    DEVELOPMENT_TEAM="<你的实际Team ID>" \
    PROVISIONING_PROFILE_SPECIFIER="<你的描述文件完整名称>"
    
  • 关闭Xcode项目的自动签名配置
    Unity导出Xcode项目时默认开启的自动签名在CI环境中无法正常工作,你可以通过Unity的PostProcessBuild打包后处理脚本,强制关闭自动签名、写死签名身份、Team ID与描述文件配置,避免Xcode项目签名配置混乱

内容的提问来源于stack exchange,提问作者Youssef

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 19:15:02