一个标识符为“”的应用程序ID不可用。请输入其他字符串。

300

我正在尝试添加一个新的 APP ID,以准备提交到 App Store,并在提供的 bundle ID 下遇到了以下错误。

标识符为 'com.domainName.AppName' 的 App ID 不可用。请输入另一个字符串。

这是什么意思?我正在尝试添加全新的 App ID,当然它不存在。

我错过了什么吗?我不记得上次创建 App ID 时有这个问题。


5
有人已经注册了您输入的AppID!请选择另一个。这是我的情况。 - Tony
9
这是我的应用程序标识符,我拥有并使用它,但我仍然收到这个消息。 - Caimen
您可能已经注册了此应用程序ID。 - gunas
在XCODE > PREFERENCES中删除和添加帐户对我很有用。 - Kunal Gupta
只需使用最新的Xcode版本7.3.1上传,对我来说非常完美。谢谢。 - Ravi
47个回答

116

更新

自Xcode 8起,由Xcode管理的现在通过Xcode自动和正确更新。甚至它们都不在开发者门户网站上列出,而是在生成时即时生成。

然而,下面提出的解决方案仍将起作用。我已经转而使用自动配置文件。

tl;dr

从开发者门户网站中删除无效的iOS Team Provision Profile Managed by Xcode,手动创建iOS Developer Provision Profile。通过Xcode下载它,你应该可以正常工作了。

细节

问题:

我在Xcode 7.3(7D175)之后开始遇到这个问题。

出现问题前我所做的事情:

  • 通过Xcode更新证书(开发人员和分发),因为它们已过期;
  • 在我的钥匙串中安装了两个必需的证书(开发人员和分发);
  • 使用新的分发证书重新生成了Ad Hoc和App Store Provision profiles;
  • 通过Xcode本地下载Ad Hoc和App Store Provision profiles;
  • 按照设置Xcode自动管理你的配置文件的过程操作项目
  • 发现iOS Team Provision Profile Managed by Xcode为INVALID
  • 看到Xcode无法构建和运行,因为无效的iOS Team Profile。

点击“修复问题”(我所知道的使配置文件由Xcode管理有效的唯一方法),出现错误An App ID with Identifier '<app id>' is not available

解决方案:

我已经:

  • 手动从开发人员门户网站中删除了INVALID iOS Team Provision Profile Managed by Xcode
  • 手动创建了iOS Developer Provision profile
  • 通过Xcode下载它

现在,我能够将应用程序构建并运行到我的设备上。


等等,我们不应该使用自动的Xcode工具吗?如果Xcode风格的证书不能用于实际的应用商店提交,那么它的意义是什么? - pete
它们甚至没有列在开发者门户网站上,而是在运行时生成。iTunes Connect需要一个应用程序ID,因此如果它“甚至没有列出”,那么我无法将我的应用程序上传到应用商店! - pete
如果您之前使用Xcode创建了项目,我认为最近的Xcode版本会自动为您创建AppId。 我曾经遇到过同样的问题,后来我意识到:
  • 当创建新应用并选择捆绑ID时,我尝试创建的AppId会出现在appstoreconnect中。它被命名为“XC com domain appname - com.domain.appname”;
  • 我无法在developer.apple.com中看到该ID,因为Safari默认隐藏滚动条。没有看到还有更多的条目...因为所有由Xcode创建的条目都以XC开头,它们会出现在底部...
- endavid
3
完全不理解这个。首先,什么是开发者门户? - John Pitts
这可能是正确的,但对我来说不可用。怎么做这个东西?太高级了。 - steve

75

TL;DR:在会员中心为你的应用程序ID命名时,Xcode非常注重名称。仅拥有正确的捆绑标识符是不够的。您必须使用下面显示的特定格式,Xcode 才能“看到”您的应用程序 ID。

更新:根据评论区中@isaacselement的说法,这个问题已经得以在 Xcode 7.3.1 中解决。


@romrom 的解决方案是删除 App ID 并让 Xcode 创建一个新的,这是一个线索。但对于我来说,这是不可行的,因为我的应用程序 ID 被商店应用程序使用,所以无法删除。

然而,通过一些实验,我发现可以通过手动编辑现有的 App ID 来解决这个问题。事实证明,Xcode 对 ID 的名称非常挑剔,而不仅仅是捆绑 ID。

对于典型的捆绑 ID (例如 com.mycompany.appname),App ID 名称必须采用此格式:

XC com mycompany appname

如果使用其他格式的名称,Xcode将无法识别.


如何检查受影响情况/如何修复

  1. 登录会员中心
  2. 单击“证书、标识符和配置文件”。
  3. 在左侧导航栏中,单击“应用标识符”。
  4. 找到具有您捆绑标识符的应用程序标识符。
  5. 如果该应用程序标识符没有正确的名称格式(如上所示),请单击它,然后单击“编辑”按钮。
  6. 更改名称,然后单击“完成”。
  7. 享受减少的压力和愤怒。

P.S. 如果你使用的是 Xcode 7.3,还有一些相关问题。即使你按照我上面提到的方法更正了名称,它也不会自动为你创建适当的分发配置文件。解决方案是降级到7.2.1或7.3 Beta,或使用类似fastlane/sigh这样的工具。


4
使用这个建议后,我成功通过验证。希望苹果公司的人知道我在试图弄清楚这个问题上浪费了多少时间和精力。非常感谢你在这里发布它! - rishat
这太棒了!省去了我打电话给苹果的麻烦,这让我很烦恼。 - Michael D. Irizarry
结果发现我从未为应用商店创建过一个 :/ 但这让我开始了,谢谢! - Andrew
应用程序标识符为“xxx”的App ID不可用。请输入其他字符串。(nope...7.3.1) - cvb
在会员中心重命名应用ID实际上起了作用。真是令人难以置信。谢谢你。 - Ondra Koupil
显示剩余3条评论

58

我曾经遇到过同样的问题,通过以下步骤解决了:

  1. 打开 Xcode Preferences(偏好设置) > Accounts(账户) > 选择您的Apple ID账户

  2. 点击 View Details(查看详情)

  3. 点击 Download all(全部下载),然后点击 Done(完成)

之前一切正常,但我不知道为什么突然停止了。我按照上述步骤进行操作后,发现它可以正常工作。


太棒了,祝你好运!! - Amit Ajmera
就是这样!谢谢! - fredpi
您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - Dallas
继续加油,伙计们!愉快编码!! - Amit Ajmera
两年后,这也发生在我身上了。我很高兴我向下滚动到了这个答案!哈哈,谢谢@AmitAjmera。 - Coding while Loading
下载解决了问题?我从开发者网站上收到了错误信息(应用程序ID不可用)。如何通过将下载到我的计算机来解决服务器上的问题?您是从本地应用程序(例如Xcode或其他)中收到的错误吗? - steve

50
您可能没有与该ID相同的应用程序,但其他人可能有。这些ID必须在全球范围内是唯一的,而不仅仅是在您自己的应用程序中唯一。

谢谢回复,我有这样的情况:我有一个新创建的带有xx.xxx.xxxx Bundle ID的IPA文件,现在我需要使用另一个账户将其上传到App Store,我能否更改IPA文件的Bundle ID? - user2265763
是的,你可以。还有一种方法可以将应用程序从一个帐户转移到另一个帐户,但我不熟悉这个过程。如果您需要维护应用程序在AppStore中的统计数据,可以搜索相关信息。 - Guilherme
我简直不敢相信这就是问题所在……苹果在错误信息中没有明确指出这一点。 - James111

46

Xcode 7.3 的解决方案。

前往:

Member Center -> Certificates, Identifiers & Profiles -> Provisioning Profiles -> All

会员中心:https://developer.apple.com/membercenter

查找您的App ID证书,应为无效状态。编辑,选择您的iOS分发证书,生成。转到:

Xcode -> Preferences -> Accounts -> View Details -> Download all

无效证书

生成步骤


1
对我来说有效,只需要重新生成配置文件。 - Rémi Santos
1
瞬间你就成为了神。 - CommaToast
我的不是无效的。尽管如此,这个解决方案对我起作用了。 - oyalhi
"会员中心"在哪里? - temirbek
也许以前这个可以用,但是今天我觉得不行了。在我的https://developer.apple.com/account/resources/profiles/list下面没有列出任何内容。 - steve

23
我也遇到了这个问题,解决方法非常简单。当Xcode用户使用其免费个人账户在设备上运行应用程序时,Bundle ID会注册到个人账户。然后,当用户升级为付费的Apple Dev帐户并尝试使用该Bundle ID创建App ID时,后端系统会认为该Bundle ID已被使用。在此网站的表格中填写“证书、标识符、配置文件”类别下的表格即可。我这样做后,问题在不到12小时内得到解决。以下是苹果公司的邮件回复:“当您使用个人团队从Xcode在设备上安装应用程序时,Bundle ID将注册到该账户。我已删除“com.AppVolks.Random-Ruby” Bundle ID,因此现在可以在您的付费会员资格上注册。”希望这可以帮助你!

2
刚刚走了同样的路。我的解决方案是: 从“账户”中删除您的免费开发用户,并使用您的付费用户创建新的应用程序(Bundle ID)。 创建后更改“团队”并没有解决我的问题。 - Alex22
@Alex22:如果您创建了一个新的捆绑标识符,为什么还需要做其他事情呢?顺便说一下,我不知道“从“帐户”中删除用户”的含义或如何执行。 - steve

22

版本 7.3 (7D175)

应用程序标识名称应与应用程序包标识符相同,如果您的应用程序包标识符是com.abc.xyz,则此包标识符的应用程序标识名称应为XC com abc xyz

输入图像描述

以其他格式命名的名称将不会被 Xcode 看到。


XC com abc xyz是什么?你能解释一下吗?这是Xcode命令行吗?请详细说明一下。谢谢。 - Krishna Karki
只是应用程序的ID名称。 - Imran
我理解了,但XC是什么? - Krishna Karki
哦,天啊!我苦苦挣扎了三天,终于这个东西来拯救我了。 - Code Tree
非常感谢你! - Paula Vasconcelos Gueiros
不错,谢谢。 - Emmanuel Afolabi

21

TARGETS->General->Identity

首先,修改“Bundle Identifier”的值,使其与之前的值不同。然后团队选择“None”。适用于Xcode6~Xcode7.3.1版本。但这只是一个临时解决方案。

enter image description here


9
如果您的应用程序已经获得批准,这是一个不好的想法。这将破坏更新。 - Oz Solomon
首先选择“无”,没有问题运行项目开发,然后在其中选择您的帐户号码。 - ylgwhyh
@Oz Solomon:这个问题是关于添加一个应用程序的;最初的提交;不是升级。 - steve

15

我也遇到了同样的问题,可能是Xcode自动选择了另一个团队名称,通过选择我的正确团队名称解决了这个问题。 祝你好运!


1
@blwinters,你找到解决方案了吗? - Vlad
@Vladislav,我已经发布了解决方案!请前往您的项目设置查看是否选择了正确的团队!这个问题有很多解决方案,可能是由不同的原因引起的! - AaoIi
以下是选择团队名称的方法:https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/ConfiguringYourApp/ConfiguringYourApp.html#//apple_ref/doc/uid/TP40012582-CH28-SW2 - Efreeto

12
我通过在构建导出时选择此选项来解决了这种问题。

enter image description here

定期我会选择第二个选项来构建导出流程,但在安装Xcode 7.3后,当我尝试导出构建时,我收到上述错误。经过一些论坛讨论,我得出结论现在需要选择最后一个选项来导出构建。
我希望这些信息对论坛的其他成员也有所帮助。

嗨,Siddharth,就像你所说的,在我的Xcode 7.3中也出现了同样的问题,我按照你的步骤操作后,它运行得很好。但是,我想知道为什么在Xcode 7.3中选择第二个选项不起作用,为什么必须选择第四个选项。 - Balaji
也许现在苹果想要更加注重结构性。我不知道背后的真正原因。 - Siddharth
1
天才!不要“验证”,而是点击“导出”。 - greenhouse
这个不行,如果你没有验证,只能通过iTunes安装。 - greenhouse
1
是的,Siddharth。自2016年4月4日起,我也必须指定第四个选项。我相当确定这是因为我的预配资料是用于“开发”,但不同的资源是用于“分发”。因此,暂时我可以继续前进,只要我不选择第二个选项,而不是重新创建所有这些内容。 - Sandi Laufenberg-Deku
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接