【问题标题】:XCode is unable to create a distribution signing identityXCode 无法创建分发签名身份
【发布时间】:2016-04-13 11:12:49
【问题描述】:

我正在尝试将我的应用程序提交到 iTunes Connect。我之前已经提交过(TestFlight),但在某些时候我的证书已经停止工作。我尝试用 2 种不同的方法更新它们,但没有成功。

方法 1: 在 XCode 中,我收到错误消息,指出开发人员配置文件已经有分发证书,并建议我重置它。重置会导致相同的弹出窗口,因此这会进入循环并且不起作用。

方法 2: 如果我在开发人员门户中手动创建证书和配置文件,则归档过程只有在我在构建设置中选择正确的身份时才有效,否则构建失败并且 XCode 说它可以找不到代码签名身份。但是我无法提交存档,因为出现以下错误:

我也尝试过从存档中导出 .ipa(以使用应用程序加载器上传),但这也没有找到签名身份并出现相同的错误:

所以现在我正在尝试采用 XCode 应该为我完成所有工作的建议路线。(https://developer.apple.com/library/ios/qa/qa1814/_index.html) 为了清白,我已经从我的 mac 中删除了所有证书、密钥对和配置文件开发者中心。

我已从钥匙串中删除所有相关的密钥对和证书。我已经从我的 mac 中删除了所有配置文件。我还从开发人员站点中删除了所有证书和配置文件。我还在 XCode 设置中删除并重新添加了开发者帐户。

我设置了项目的构建设置: 我还在常规选项卡中设置了团队。

现在我猜 XCode 应该可以解决我的签名问题,但是在我按下常规选项卡中团队选项下方的修复问题后

我还是去重置开发/分发证书循环。

我注意到的一件事是 XCode 确实为钥匙串生成了一个密钥对,而不是证书。

无论是否存在这些问题,我如何将我的应用上传到 iTunes Connect?

我使用的是 XCode 7.2,这是一个 Unity3D 应用程序。

【问题讨论】:

    标签: xcode app-store-connect


    【解决方案1】:

    我已从钥匙串中删除所有相关的密钥对和证书

    好的,但这就是 Xcode 所抱怨的(每次它在您显示的所有消息中都说“但它没有在本地安装”)。您需要钥匙串中的私有/公共证书对。如果您删除了证书的私有部分,那将是一个巨大的错误,因为您永远无法恢复它(Apple 没有它——它是私有的)。您现在可能不得不从头开始,彻底丢弃所有东西——所有证书、所有配置——无论是在本地还是在会员中心,从头开始。

    这是可以做到的,但这并不是一件小事,因为如果您在任何剩余的情况下启动 Xcode,Xcode 会尝试将证书安装回您的钥匙串中。为此,您需要在 Xcode 运行的情况下从钥匙串、移动配置文件夹和会员中心删除 所有内容

    【讨论】:

    • 感谢您的回复。我试图在没有 XCode 工作的情况下创建一个新的分发证书,但是在开发人员中心创建一个后,证书无法导入到 Keychain Access。它失败并出现错误:-25295(errSecInvalidKeychain)。如果我将它拖到“系统”钥匙串,然后将生成的密钥从“登录”移动到“系统”,那么证书就会与私钥匹配。在此之后,XCode 仍然显示“未找到代码签名身份”——一切都与我最初问题中的方法 2 相同。
    【解决方案2】:

    我设法通过使用

    从存档中提取 .ipa 来上传包
    xcodebuild -exportArchive -exportFormat ipa -archivePath {path-to-xcarchive} -exportProvisioningProfile {“profile name”}  -exportPath ~/Desktop/MyApp.ipa
    

    然后使用 Application Loader 上传。

    【讨论】:

      猜你喜欢
      • 2017-01-12
      • 2015-05-24
      • 2016-02-22
      • 2015-12-25
      • 2015-02-21
      • 1970-01-01
      • 2016-05-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多