Xcode 通配符和 com.domain.name App ID 有啥区别?

Posted

技术标签:

【中文标题】Xcode 通配符和 com.domain.name App ID 有啥区别?【英文标题】:What's the difference between an Xcode wild card and a com.domain.name App ID?Xcode 通配符和 com.domain.name App ID 有什么区别? 【发布时间】:2014-04-28 19:56:53 【问题描述】:

自从我注册开发者帐户以来,这些问题一直困扰着我!

当我将我的应用提交到商店时,我需要知道使用哪一个?

同样在目标 > 构建设置 > 代码签名 > 配置配置文件中是如图所示的那些值,我应该选择哪一个来提交我的应用程序?

com.domain.name 还是通配符?

最后,com.domain.name 到底是用来做什么的,它的重要性是什么?

【问题讨论】:

【参考方案1】:

通配符 ID 仅用于开发目的。假设您正在开发一个应用程序,并且不知道它的最终名称是什么。在命名之前,您可以使用通配符应用 ID。

一旦你命名了它,你就可以使用 com.domain.name 进行提交。

它们在整个 ios 生态系统中必须是独一无二的,这就是它们以这种方式工作的原因。只要没有两家公司名称和产品名称相同,就不会发生冲突。

【讨论】:

【参考方案2】:

通配符应用 ID(定义为 *)可用于任何包标识符(您在 Xcode 中设置的那个)。

如果您的应用符合以下条件(取自开发者门户的证书、标识符和配置文件部分中的注册应用 ID页面):

如果您计划整合游戏中心、应用内购买、数据保护和 iCloud 等应用服务,或者想要单个应用独有的配置文件,则必须为您的应用注册一个明确的应用 ID。

然后你需要指定一个明确的 App ID - 你提到的com.domain.name。这必须与您在 Xcode 中设置的应用程序包标识符匹配。

App ID 与开发者帐户绑定(我相信它可以转移),并且每个应用程序都是唯一的。例如,假设我设置了一个应用 ID 为 com.***.rich 的应用,那么您就不能使用该应用 ID。

最终将应用提交到 App Store 时,应用 ID 必须是明确的应用 ID。

为 App Store 发布时,您需要在 Provisioning Profile -> Release 下设置您的 App Store Distribution 配置文件。您可能只需在 Code Signing Identity -> Release 上按删除/退格键,然后自动设置将获取正确的证书。

当您使用 Archive 命令(在 Product 下)时,始终使用 Release 构建配置(除非您在 Release 下更改它strong>方案设置)。

如果您想了解更多信息,请阅读App Distribution Guide。

还有一个Technical Q&A也讨论这个话题。

【讨论】:

谢谢,我都做了,我可以换吗?此外,我可以将它们更改为另一种语言吗?如果我将它们更改为另一种语言,是否必须在应用中添加该语言? 只要您的捆绑包 ID 现在与您的应用 ID 匹配就可以了。你说的另一种语言是什么意思?它们是标识符,例如匹配该应用的网络域 - 它们实际上不需要本地化。

以上是关于Xcode 通配符和 com.domain.name App ID 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

XCode 导出应用程序,通配符错误

从通配符应用更改为显式 ID 应用

在设备上运行收到“完成在设备上运行”消息,但从未运行

无法编辑捆绑标识符

Xcode 怎么查看代码总行数

我可以在 info-plist 上为 Bonjour 服务使用通配符吗