Xcode 自动代码签名分发

Posted

技术标签:

【中文标题】Xcode 自动代码签名分发【英文标题】:Xcode automatic code signing distribution 【发布时间】:2016-10-21 13:41:51 【问题描述】:

不知何故,我遇到了与这个问题相同的问题: Validating fails because of account permissions

我们获得了带有私钥的有效分发证书以及 Xcode 8 中新的自动代码签名,在开发过程中一切正常。但是当我们尝试将档案上传到 iTunes 连接时,只有管理员能够做到这一点。对于每个管理员,我们必须创建一个新的分发证书。普通会员总是会收到消息:Your account does not have permission to create ios distribution certificate,即使钥匙串中有有效的证书。

所以我的问题是:我们如何设置具有自动签名功能的 Xcode 8 以使用一个分发证书,独立于帐户角色?

【问题讨论】:

这是了解 Xcode 7 和 8 的代码签名功能差异的非常好的资源:@​​987654322@ 具体:pewpewthespells.com/blog/… 【参考方案1】:

在没有更多信息的情况下在黑暗中拍摄...但是从(我在上面提供的链接)[http://pewpewthespells.com/blog/migrating_code_signing.html#building-for-distribution-xcode-8],检查 Xcode 8 下标题为 Building for Distribution 的部分并确保你重新运行“存档”操作而不是“构建”操作...

为了在 Xcode 8 中使用新的自动签名方法创建应用程序的构建以进行分发,您必须使用“存档”方案操作。这在方案编辑器中分配了一个构建配置,而该构建配置设置为使用“iPhone Developer”的CODE_SIGN_IDENTITY值; “存档”操作将覆盖它以始终使用分发签名身份和配置文件。因此,您必须调用“存档”操作,而不是执行常规的“构建”操作。这将生成一个构建并打开 Xcode Organizer 窗口,该窗口将 Xcode 创建的所有档案列为 UI 中的“.xcarchive”。

我还会三重检查您的钥匙串中的证书是否是用于分发的证书。创建它们并将其下载到计算机的管理员可能需要将它们发送给您。

【讨论】:

恐怕这不能回答我的问题。我以前读过这篇文章,但我不知道如何处理它。证书肯定是有效的,我们用它成功上传了一个存档,然后将它导出到另一台机器。在会员账户机器上,我们所做的只是设置团队以及自动签名选项。我们也可以创建存档,但是由于该错误,上传操作失败。【参考方案2】:

您还可以检查配置文件。从 Xcode 中选择“Preferences->Accounts->Your Apple ID->Choose your company team->View Details”。

可能是您的本地配置文件已过期。右键单击您的应用程序的分发配置文件,选择“移至垃圾箱”,然后转到开发人员网站下载您的应用程序的最新分发配置文件。不要使用 Xcode 下载它。我发现 Xcode 可能无法下载最新的配置文件。

【讨论】:

以上是关于Xcode 自动代码签名分发的主要内容,如果未能解决你的问题,请参考以下文章

如何在使用 Xcode 自动代码签名的同时使用 Fastlane 和 Crashlytics 进行构建?

分析与归档 - 不同的代码签名要求?

Xcode - 代码签名身份自动?

iPad App 的临时分发的代码签名问题

引用的框架需要 Xcode6 代码签名吗?

XCode iOS 分发证书自动被吊销