如何在钥匙串中设置要由XCode使用的身份首选项?

qno*_*oid 6 xcode build code-signing certificate keychain

XCode在"构建设置"中的"代码签名标识"下有一个"自动配置文件选择器".

在钥匙串中有2个"iPhone开发人员"证书,似乎没有办法引导XCode对一个人的偏好.

Codesign列出了以下用于解析身份的规则.

  1. 身份首先被视为钥匙串身份偏好的全名

  2. 通过在所有钥匙串中搜索其主题公用名(仅)包含标识的证书来定位标识

    • 如果存在多个匹配项,则操作将失败并且不执行签名
  3. 如果identity由四十个十六进制数字组成,则它被解释为SHA-1哈希

"iPhone Developer"上有两个部分匹配的事实表明XCode有一种不同的解析身份的方式.

尝试在证书上创建身份首选项,提示输入"位置(URL)或电子邮件地址".不确定URL应引用的内容或电子邮件.

使用"iPhone Developer"代替值(keychain很高兴接受),但XCode不选择首选证书.

有没有办法使用"自动配置文件选择器",但它解决了"身份首选项?"

PJ_*_*gan 0

我想现在已经太晚了,但是在 Xcode 9 中,"Build Settings" -> "Code Signing Identity"现在"Code Signing Style"=Manual/Auto有两个下拉列表,您可以从中选择两个目标:a) iOS 开发者/分发配置文件类型之一,b) KeyChains 的身份对于开发商/分销商。

对我有用的是:

  1. 使用相同或两个不同的配置文件进行调试和发布(从我的开发者帐户网站创建和导出并在 Xcode 中导入)
  2. 设置"Code Signing Style""Manual"
  3. 为两个目标选择导入的PP
  4. 将 a) 和 b) 列表设置为其证书包含在 1) 中创建的 PP 中的开发者/发行商身份

现在我可以使用“运行”按钮从 Xcode 正常运行调试目标,同时使用分发 PP 归档和导出发布目标。