6

XCode 在“构建设置”的“代码签名身份”下有一个“自动配置文件选择器”。

在钥匙串中有 2 个“iPhone 开发者”证书,似乎没有一种方法可以引导 XCode 偏好其中一个。

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

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

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

    • 如果有多个匹配,则操作失败,不进行签名
  3. 如果标识正好由 40 个十六进制数字组成,则将其解释为 SHA-1 哈希

“iPhone Developer”上有 2 个部分匹配的事实表明 XCode 具有不同的身份解析方式。

尝试在提示输入“位置(URL)或电子邮件地址”的证书上创建身份首选项。不确定 URL 应指什么或电子邮件。

改为使用“iPhone Developer”作为值(很高兴接受钥匙串),但 XCode 没有选择首选证书。

有没有办法使用“自动配置文件选择器”,但可以解决“身份偏好”?

4

1 回答 1

0

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

对我有用的是:

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

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

于 2018-01-19T11:23:55.737 回答