xcode 新 iOS 团队成员:没有有效的签名身份

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/11359001/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-15 00:48:02  来源:igfitidea点击:

New iOS team member: no valid signing identity

iosxcodedistributionprovisioning

提问by senseiwa

This is getting frustrating. I have two identities, one old, one new, and the latter should be used to deploy iOS apps to the App Store.

这越来越令人沮丧。我有两个身份,一个旧的,一个新的,应该用后者来部署iOS应用到App Store。

I've created the new user, granted him admin access, then I created the app name and provisioning profiles. However, in the Organizer I see that the Devprovision works flawlessly, while the Deployprofile shows me the dreaded error:

我创建了新用户,授予他管理员访问权限,然后创建了应用程序名称和配置文件。但是,在 Organizer 中,我看到Dev条款完美无缺,而Deploy配置文件向我显示了可怕的错误:

Valid signing identity not found.

未找到有效的签名身份

How can it be?

怎么会这样?

Well, I see that in the Certificatessection in the iOS Provisioning Portal, there is only one distribution certificate, the one belonging to my company.

嗯,我看到在iOS Provisioning Portal的Certificates部分,只有一个分发证书,属于我公司的那个。

Is there a way to enable the new user to create apps withoutaccessing the uberadmin's Xcode?

有没有办法让新用户在访问 uberadmin 的 Xcode 的情况下创建应用程序?

Thanks & Cheers!

谢谢和干杯!

回答by jake_hetfield

You need the key that was used to create the Distribution Certificate for your company.

您需要用于为您的公司创建分发证书的密钥。

Remember when you created your developer certificate? Then you went to keychain -> certificate assistant -> Request a certificate from ...

还记得您创建开发人员证书时的情况吗?然后你去钥匙串->证书助手->从...请求证书

When you did this, your Mac paired your certificate request to a key in your keychain. Once your developer certificate was processed and you downloaded it to your computer, it could be accessed by your computer through that key.

执行此操作后,您的 Mac 会将您的证书请求与钥匙串中的密钥配对。一旦您的开发者证书得到处理并将其下载到您的计算机上,您的计算机就可以通过该密钥访问它。

But if you did not create the Distribution Certificate that your company has, you don't have the key on your computer.

但是,如果您没有创建公司拥有的分发证书,那么您的计算机上就没有密钥。

Take a look at your certificates in keychain:

查看钥匙串中的证书:

  • Go to 'Certificates' and expand your developer certificate - it will have a little key with your name.
  • Now try to expand your distribution certificate - it will nothave a key, right?
  • 转到“证书”并展开您的开发人员证书 - 它会有一个带有您姓名的小钥匙。
  • 现在尝试扩展您的分发证书 - 它不会有密钥,对吗?

If this is the case, you have two options:

如果是这种情况,您有两种选择:

  1. Ask the person who created the Distribution Certificate to export it from his keychain. This will create a file that includes both certificate and key.

  2. Delete the current Distribution Certificate, and create a new Certificate Signing Request from your computer, which will connect it to a key that you have.

  1. 要求创建分发证书的人从他的钥匙串中导出它。这将创建一个包含证书和密钥的文件。

  2. 删除当前的分发证书,并从您的计算机创建一个新的证书签名请求,这会将其连接到您拥有的密钥。

First method require access to "Uberadmins" computer. The second require admin access to your teams Apple account. There is usually no downside in using method 2, because creating a new certificate is necessary from time to time anyway. It will not affect already published apps, just coming releases and updates need to use a the latest certificate.

第一种方法需要访问“Uberadmins”计算机。第二个需要管理员访问您的团队 Apple 帐户。使用方法 2 通常没有缺点,因为无论如何都要不时创建新证书。它不会影响已经发布的应用程序,只是即将发布和更新需要使用最新的证书。

Once all this is done, you need to create a distribution provisioning profile for App Store and connect to the Distribution Certificate that you are going to use. (if you went with option 1, you might already have done this).

完成所有这些后,您需要为 App Store 创建一个分发配置文件并连接到您将要使用的分发证书。(如果您选择了选项 1,则您可能已经这样做了)。

Download the profile to your computer, install it, and then in your app, select to build with this profile for distribution builds.

将配置文件下载到您的计算机,安装它,然后在您的应用程序中,选择使用此配置文件进行构建以进行分发构建。

回答by Simon Woodside

According to Apple's documentation:

根据苹果的文档:

A team's distribution certificate allows a developer to build an app for distribution. If your team wants to use another Mac to create a distribution build, you need to transfer a copy of the distribution certificate as described in, “Safeguarding and Transferring Your Signing and Provisioning Assets” in Tools Workflow Guide for iOS. (from Managing a Distribution Certificate)

团队的分发证书允许开发人员构建用于分发的应用程序。如果您的团队想要使用另一台 Mac 来创建分发版本,您需要传输分发证书的副本,如 iOS 工具工作流程指南中的“保护和传输您的签名和供应资产”中所述。(来自管理分发证书

So, in order to have multiple users able to create & submit App Store builds, you must share a private key between them.

因此,为了让多个用户能够创建和提交 App Store 版本,您必须在他们之间共享一个私钥。

Create a new private key for the team, and then send that private key to everyone who needs it. Follow the instructions under Generating a Certificate Signing Request with Keychain Access.

为团队创建一个新的私钥,然后将该私钥发送给需要它的每个人。按照使用钥匙串访问生成证书签名请求下的说明进行操作。

See also: Any concern to share private key for distribution certificate among different group under a team account in itune provisioning portal

另请参阅:在 itune 配置门户中的团队帐户下的不同组之间共享分发证书的私钥的任何问题