xcode - 使用命令行构建应用程序会给出配置文件错误

时间:2012-11-07 18:50:05

标签: xcode code-signing ios-provisioning provisioning-profile

我正在尝试从命令行归档应用程序,但它出现以下错误:

Code Sign error: The identity 'iPhone Distribution: XXX' doesn't match any valid, non-expired certificate/private key pair in your keychains

我正在使用以下行来构建和存档应用程序:

export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer

xcodebuild -target TestAppLogicTests \
-sdk iphonesimulator \
-configuration Debug \
TEST_AFTER_BUILD=YES \
clean build | /usr/local/bin/ocunit2junit.rb

# tests passed archive app

export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer

/usr/bin/xcrun xcodebuild -scheme TestApp clean archive \
CODE_SIGN_IDENTITY="iPhone Distribution: XXX"

我确定我的CODE_SIGN_IDENTITY是正确的(我已在.pbxproj文件中检查过它)。我已经尝试重新下载我的分发证书,但这也没有用。它在xCode本身工作正常。

任何人都知道我可以尝试什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

打开钥匙串。您是否看到了开发人员(或分发)证书?

如果是,您可以点击它打开下拉列表吗? 在它下面,你看到一个名为私钥的文本吗?

如果您没有看到任何下拉列表和私钥,则必须:

  • 从钥匙串
  • 发起“从权威机构申请证书”
  • 在硬盘上导出证书。
  • 将此证书上传到Apple开发者帐户的配置文件部分(撤销旧证书)
  • 使用较新的证书更新您的配置文件(进入每个配置文件并检查您的证书)
  • 通过打开和刷新XCode
  • 下载新的配置文件
  • 关闭XCode。
  • 使用命令行构建。

如果这令人困惑,有很多问题可以更详细地解释这一点,例如this one