一个标识符为'com.example.app.extension'的应用程序ID不可用。请输入不同的字符串。

37

我尝试为我的iOS应用程序添加扩展,包括一个今天的扩展和一个Apple Watch应用程序。我的应用程序已完成,但在提交存档时,由于我的包标识符而出现错误。然后我删除了这些扩展,重新添加了它们,并尝试重新提交。然而,Xcode现在抱怨我的配置文件无法签名。

"标识符为'com.example.app.extension'的App ID不可用。请键入其他字符串."

我立即去会员中心查看是否存在已经存在的App ID会阻止我使用它来添加扩展。没有任何名称冲突,这对我来说很奇怪。如果新ID与旧ID没有冲突,我不应该能够创建新ID吗?我还删除了以前扩展的任何配送配置文件。尽管如此,我仍然无法添加"com.example.app.extention"或"com.example.app.watchkitextension"。

我决定只创建新的app IDs,遵循新的命名约定,如"com.example.app.extensions.watchkitextension"或"com.example.app.extensions.todayextension"。一切都运作正常,构建也没问题。我在设备上安装了应用程序,一切都很好。我的存档甚至得到了验证。然而,在提交时,我遇到了以下错误:

错误ITMS-90347: “错误的包标识符。应用程序扩展xxx.app/Plugins/xxxExtension.appex的包标识符“xxx.yyy.zzz”应该以应用程序的包标识符“xxx”开头,并且不应包含超过一个点号“.”。

这意味着我必须使用命名约定"com.example.app.extension",而Xcode和会员中心将不允许我创建正确的ID。

我非常沮丧,请有人帮帮我。我无法在任何地方找到解决方案。

编辑

看来我实际上根本不能使用那个标识符。

此外,我应该注意一些警告信息以供参考:

1)如果扩展名中包含句点,即com.domain.app.extensions.extension,那么在扩展名之前添加任何内容都不起作用。

2)自动化的Swift 2转换器往往会将标识符更改为更标准的名称,并尝试让Xcode解决配置文件的问题。请注意!

唯一的解决方法是永久更改标识符名称。我个人使用了com.domain.app.todayextension。然后我使其正常工作,但前提是通过成员中心安装并添加正确的开发和分发配置文件。这似乎是苹果系统中的一个错误,或者我们根本不知道配置文件如何工作。我认为后者可能是真实情况。无论如何,希望这可以帮助到你!


嗨,你最终找到解决方法了吗?我现在使用watchkitextention也遇到了类似的问题。谢谢。 - goldengil
1
@ goldengil 似乎我实际上无法使用该标识符。此外,如果其扩展名包括句点,则无法在其之前添加任何内容,例如com.domain.app.extensions.extension也不起作用。唯一的解决方法是更改标识符名称。我个人使用了com.domain.app.todayextension。然后,仅在通过成员中心安装和添加正确的开发和分发供应配置文件后才使其正常工作。这似乎是苹果系统中的一个错误。希望这可以帮到你! - modesitt
15个回答

54

版本 7.3 (7D175)

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

任何其他格式的名称都将无法在 Xcode 中看到。

如果您的应用程序已经在应用商店中并且正在提交更新,则只需根据上述格式更改应用程序 ID 名称即可。

输入图像描述


4
哇,这竟然对我也有效。虽然我不明白为什么。 - Keith Murray
令人难以置信的是,这个方法对我来说也解决了一直困扰着我的问题 - @MuhammadImran 真是太棒了,好发现! - theLastNightTrain
6
应将此回答标记为正确答案(更多信息请参见https://dev59.com/O2Ij5IYBdhLWcg3wKiLs#36343710)。 - David Jirman
哇!这个解决方案对我有用!有人能解释一下为什么会发生这种情况吗? - Mohammad Alqurm
5
这是XCode 7.3中的一个漏洞,在XCode 7.3.1中已经修复。 - Imran
显示剩余6条评论

28

我在苹果开发者论坛上找到了解决方法。

苹果刚刚更新了他们的开发者中心CGU。似乎应用程序扩展bundleId更加严格了。

如果您的应用程序bundleId格式是:com.my.app

现在您的应用程序扩展bundleId必须是:com.my.app.XXX

创建新的appID和配置文件可以解决此问题。

查看此链接:https://forums.developer.apple.com/thread/15712


但是这会影响已经上线的应用程序吗?还是会上传一个同名的新应用程序到商店? - XcodeNOOB
1
@XcodeNOOB 对于已经上线的应用程序,您只需要重命名您的应用程序 ID。 - Imran
有点晚了,但这确实为我解决了问题:D - Andres C
17
你们这些白痴。(我是在指苹果,而不是指你!) 好吧,如果苹果要做出那样的更改,那就好了...但至少显示一个有用的错误信息来解释更改,而不是一些误导性的废话说它是“无法使用的”。天啊,我讨厌这个Xcode的东西。他们一定非常恨开发者。 - Mike Gledhill

7

Xcode 更新至 7.3

在归档过程中,我遇到了这个问题。在我的情况下,通过在偏好设置中下载所有配置文件无法解决此问题,因此我进行了更新。

请前往会员中心检查应用程序的配置文件。

进入开发人员 > 证书、ID 和配置文件 > 配置文件 > 所有

查找您应用程序的开发和分发配置文件,请检查其状态是否为 Invalid,然后 编辑

修改您的配置文件内容并选择生成按钮以保存更改

最后,前往 Xcode> 偏好设置 > [Apple 帐户] > 查看详细信息全部下载 以刷新您的配置文件

清理、构建、归档,成功!希望可以帮到您 :)


对我来说很有效。谢谢。 - Adam Davis

3
我也遇到了同样的问题。Xcode7.2.1。 在此输入图片描述 有效的解决方案是:

enter image description here


完美。选择团队 - “无” 对我有用。我能够重新构建、归档和提交,没有任何问题。 - crosscode
抱歉,我不知道关于Xcode7.3的事情。我还没有更新。 - ylgwhyh

3
以下是我在Xcode 7.3上的解决方法:
请在苹果开发者会员中心检查设备信息。每年一次,您有机会重置设备。重置设备后,您会发现Xcode管理的配置文件无效。为了更新此配置文件,我进入了Xcode > 账户 > 我的Apple ID > 查看详细信息并下载了所有配置文件。然后我构建到设备上,再次下载配置文件以确保更新成功。

1

我看到了很多很好的答案,

我尝试了其中几个但没有成功,最终我使用了"使用本地签名资产"选项导出ipa文件,这对我有用。

希望这能帮助到某些人。

enter image description here


0

我尝试使用生产配置文件,对我有效。


0

我不得不从开发者控制台中删除应用程序ID,并让XCode重新为我创建应用程序ID。


0

对于典型的包标识符,例如com.mycompany.appname,应用程序ID名称必须采用以下格式:

XC com mycompany appname 任何其他格式的名称都不会被Xcode识别。


0

我几乎遇到了同样的问题,我正在使用Xcode 7.3尝试编译它,但是构建一直失败,所以对我来说问题是我需要为同一个应用程序创建开发者配置文件和App Store配置文件,这样我就可以使用fastlane发布它并在Xcode中构建。

在此之后,我进行了以下操作:

  1. 打开Xcode
  2. Xcode首选项
  3. 打开团队
  4. 下载所有缺失的配置文件
  5. 清理
  6. 构建
  7. 运行fastlane

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