没有身份可用-管理员请求


111

在“存档”我的应用程序时遇到问题。我认为由于iPhone更新为5.1和XCode更新为4.2.2导致配置文件无效。

我现在花了4个多小时来解决认证问题,同时逐步使用此线程3次(这会花费很多时间):

得到“在您的钥匙串中找不到与该配置文件匹配的有效签名身份”警告

我仍然有以下错误: XCode认证错误

没有可用的身份管理员必须先请求身份,然后才能下载身份。

处理几秒钟后,“下载身份”按钮返回到该窗口。

您知道如何摆脱认证文件的束缚并解决该故障吗?


我检查了是否区分大小写,没有发现任何问题。我今天用ID“ master”重新创建了所有文件,该文件应该可以正常工作。
Nasenbaer 2012年


1
有人可以为XCode 5更新它吗?这里的每个解决方案都无法以任何形式工作。苹果把所有东西都炸掉了。
user1318747

Answers:


154
  1. 访问会员中心

  2. 转到“ iOS Provisioning Portal” -> “证书”(左侧边栏)>> “分发”选项卡

  3. 检查字段“供应配置文件”。如果为空,则下一个(4)

  4. 转到“设置”(左侧边栏)-> “分发”选项卡。按“新配置文件”并完成。返回(3)再次检查该字段。

  5. 下载并“运行”(双击)新的配置文件。

  6. 在项目的构建设置中,选择新的配置文件(它的名称可能与旧的文件名称相同)

  7. 如果项目存在,则在项目的构建设置中将代码签名身份(全部)更新为新的。(旧的可能已过期,这是导致您看到错误消息的最大原因之一)

  8. 验证您的捆绑软件ID是正确的(CaSE SeNsEtIvE)

  9. 返回XCode Organizer-设备。单击TEAM(左侧边栏),然后单击“刷新”(右下方)。您会发现XCode提取了新的配置文件。如果加载了新内容,请重复第6步和第7步(它们将被更改!)

    *如果由于运行的是xCode的较新版本而找不到团队,请转到Xcode偏好设置(在Mac工具栏上单击“ Xcode”屏幕的左上角)并转到帐户,选择您的团队,然后点击刷新。如果加载了新内容,请重复第6步和第7步(它们将被更改!)

    如果您位于“偏好设置” ->“ 帐户”中,但仍然无法刷新,则:

    • 点击帐户标签
    • 在列表中选择一个Apple ID
    • 点击右下角的“查看详细信息”
    • 单击左下方的刷新箭头
    • Xcode现在将刷新更新的凭据,您可以继续验证或分发您的应用程序。

  10. 再次验证或分发您的应用。它应该工作。

  11. 如果这不起作用,请转到“项目设置”>“目标”下的“ TEAM”,然后选择“无” ...现在选择“无”,您将需要重复步骤7并更改代码签名身份(全部),然后再次尝试存档。

  12. 最后,如果以上方法均无效。只需创建一个新的生产证书并使用相同的捆绑包ID创建一个新的配置文件。(是的,如果您要更新已经上线的应用程序,这将起作用)。下载证书并提供。配置并同时运行两者(双击)。现在重复步骤6并存档。这应该工作。


在XCODE中,还需要在需要选择配置项的项目中进行选择。谢谢你的帮助。
Nasenbaer 2012年

1
即使一切正常,我仍然会收到此错误,直到在步骤5中按Refresh为止。然后将其排序....
Greg

5
@Takol,如果没有“ TEAM”(左侧)或“ Refresh”(右下方)按钮怎么办?
stephen

@stephen为您编辑解决方案!
艾伯特·伦肖2014年

1
我对这个答案毫无意义。您能否在每个步骤中都深入一点?我遵循了每个步骤,但仍然遇到与上面提供的问题完全相同的错误。
蒂莫西·斯旺2014年

17

@Takoi的答案是正确的。但是,对于我最新的Xcode版本,管理器的“设备”部分中没有TEAM选项。我必须执行以下操作来刷新凭据:

  1. 转到Xcode->首选项
  2. 点击帐户标签
  3. 在列表中选择一个Apple ID
  4. 点击右下角的“查看详细信息”
  5. 单击左下方的刷新箭头

Xcode现在将刷新更新的凭据,您可以继续验证或分发您的应用程序。

希望这可以帮助!


1
嗯,经历了大约100条SO帖子,这解决了我的问题。为什么不应用自动刷新!
约翰·里瑟尔瓦托

哦,天哪!那是我等待约一个小时的解决方案。谢谢。
Vyacheslav

我仍然得到与问题陈述相同的确切错误。
蒂莫西·斯旺

4

确保XCode中.plist文件中的包ID与itunesconnect中的包ID相同,如果已关闭,则在验证/分发时它将无法将存档与itunesconnect上的配置文件进行匹配。


3

现在,这有点容易。

  1. 您转到应用程序iTunes连接并登录
  2. 点击“证书”
  3. 供应配置文件/分发
  4. 生成个人资料,
  5. 下载资料
  6. 双击它

2
这解决了我在XCode 5中的问题。尽管我认为它应该是linkg,但是2.是“ Provisioning Profiles”,您必须为App Store Distribution 创建一个配置文件。我只为Ad Hoc(Testflight)创建了一个,并且错误一直显示,直到为App Store创建了另一个。
Steffen Wenzel 2014年

1
itunesconnect中没有证书
Dvole 2014年

1
itunesConnect中没有“证书”链接。:(
ed_is_my_name 2014年

3

我是2个小组的成员,并且在上传一个项目时遇到了同样的问题。在项目设置(XCode 5)中将“常规”->“身份”->“团队”
更改为“ 无”,使我可以将应用程序上传到iTunesConnect。

屏幕截图在这里


Xcode的“常规”设置中没有“标识”!该怎么办?
Dvole 2014年

@Dvole,这不是XCode General设置,而是Project设置。请参阅更新后的答案中的屏幕截图。
deko 2014年

2

我的证书已过期,导致我的配置文件已过期。
有一次,我 -

  • 在iOS网站门户上更新了我的证书
  • 在配置文件上单击“编辑”
  • 选择新证书并单击生成
  • 在Xcode中,我刷新了配置文件

错误消失了


2

我想它写在流中的某个地方,我没有详细阅读。我只想强调这一点:

由于令人讨厌的xCode行为,一旦完成所有设置,就必须清理项目并退出xCode

然后重新启动并构建。现在您知道它是否有效。


一年后,仍然使用xCode 6.1观察到此问题。在某些情况下,当您重新加载开发人员证书时,您可能还必须重新启动Mac。也许是由于钥匙串缓存。只是说,如果您认为所有设置均正确,但没有任何效果,请重设所有!
麋2014年

1

看来您将不得不请求另一个开发人员证书。转到iOS开发人员中心网站,然后转到供应门户。单击证书选项卡,然后按照说明进行操作。https://developer.apple.com/ios/manage/certificates/team/howto.action

需要明确的是,您的问题似乎与配置无关,特别是开发人员证书。如果您确实获得了另一个证书,则必须创建所有新的配置文件来对您的应用进行签名。


这是什么,有几种解决方法!
user1432813 2012年

1

我的捆绑包标识符的名称不同。我必须将其从Nyquist.GasBro更改为com.Nyquist.GasBro,这是我在配置文件中所拥有的。


1

以前的答案都没有帮助我,所以我发布了我的问题。

  1. 开发人员中心:证书,标识符和配置文件 >设置配置文件>分发

确保有一个分发配置配置文件,并且其中的应用程序ID与您在Xcode中的应用程序的捆绑包ID完全相同(项目设置>常规>身份>捆绑包标识符)。

  1. Xcode:项目设置>构建设置>代码签名:
    • 配给配置文件-选择分发配给配置文件名称(而不是Development!)。
    • 代码签名身份-我选择自动,因为我只有一个。

PS在执行此操作之前,我从Dev Center和Xcode中删除了所有未使用和已过期的配置文件和签名身份。然后,如其他答案中所述刷新:Xcode:首选项>帐户>(我的Apple ID)>查看详细信息>刷新。


0

您正在寻找的答案是,在生成“公共名称”的证书请求时,您需要像“约翰·史密斯”中那样输入“人名”,而不是您的应用名称。Apple以两种不同的方式使用“通用名称”这个术语,并且不会告诉您证书应该带有您的名字,而在另一个区域中,他们要求使用通用名称并需要APP名称。


0

我有同样的问题。在从存档中删除所有内容之前,此页面上提到的所有内容均不适用于我。之后,该问题消失。


0

对于那些说临时分发配置文件在2014年无法正常工作的人,我必须同意。

在“构建设置”中,找到“代码签名”设置:对于“发布”,请选择您的“商店分布”,然后选择“菜单”>“产品”>“存档”。

稍后,在管理器窗口中,在“验证”中选择您的档案和标签。它可以让您选择临时配置文件并进行验证...,然后选择“分发”,可以将其另存为.ipa文件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.