0

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

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 本身中运行良好。

有人知道我可以尝试什么吗?

谢谢!

4

1 回答 1

1

打开钥匙串。你看到你的开发者(或发行版)证书了吗?

如果是,您可以单击它以打开下拉列表吗?在它下面,您是否看到一个名为 private key 的文本以及其他内容?

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

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

如果这令人困惑,那么有很多问题可以更详细地解释这一点,比如这个

于 2012-11-07T20:45:06.913 回答