在回答您的问题之前,一些定义:
Bundle ID:精确标识单个应用程序的反向 DNS 字符串。
Bundle ID 搜索字符串:用于匹配一组 bundle ID,其中每个 bundle ID 标识一个应用程序。例如,如果捆绑包 ID 搜索字符串是com.mycompany.MyApp
或通配符,例如com.mycompany.*
,那么它将匹配捆绑包 ID com.mycompany.MyApp
。
App ID:一个字符串,用于标识来自单个团队的一个或多个应用程序。App ID 包含一个捆绑 ID 搜索字符串,前面是Team ID,这是一个由 Apple 生成的 10 个字符的字符串,用于唯一标识一个团队。在您链接的技术说明ABCDE12345
中,它被称为捆绑种子 ID。
(开发)供应配置文件:您使用它来授权您的应用程序在设备上启动并在开发时使用某些商店技术。它由:单个 App ID、一组设备和一组开发证书组成。配置文件是在会员中心创建的,您需要在您的设备上使用它们来运行您的应用程序。XCode 可以下载配置文件并将它们安装到设备上。
现在我将回答你的子弹:
- 要使用 Game-Center (GameKit) 和 IAP,您需要一个明确的 App ID,即带有不带 * 的捆绑 ID 搜索字符串的 App ID 。通配符 App ID是其中包含 * 的捆绑 ID 搜索字符串,并且是您现在拥有的应用ID。
- 您最初创建的是带有关联 Bundle ID 的 App ID。如果它是明确的,你可以添加 Game-Center 和 IAP,如果它是通配符 App ID 不是......就是这样。
- 您不能拥有两个具有不同名称但具有相同显式 App ID 或 Bundle ID 的应用程序。但是您可以拥有两个名称不同的应用程序,它们不使用 Game-Center 或 IAP,并使用通配符应用程序 ID 使用唯一的应用程序 ID。
- 你问为什么通配符有用……好吧,我说如果你不使用 Game-Center 或 IAP,你可以有两个或多个应用程序与通配符 App ID 相关联。然后,您可以使用此 App ID 创建一个配置文件,您只需在您的设备上为您的所有应用程序安装此配置文件。这种类型的默认配置文件称为团队配置文件,它对您的所有应用程序都有效,但您可以创建更具体的对所有应用程序的子集有效的配置文件。
这个过程对大团队非常有用。如果你有一个小团队和很少的应用程序,这真的很令人困惑,但它有助于理解其背后的原因。
但关于这一切还有更多要说的。我建议您像我最近一样阅读“应用分发指南”。这是一个广泛的指南,但目前您只需要阅读主题“维护您的签名身份和证书”和“维护标识符、设备和配置文件”部分。该指南非常清晰,充满了屏幕截图,它将回答您的所有问题。您也可以在路上回到指南以快速解决一些问题(您会遇到问题)。
一年多前,我第一次使用 Game-Center 和 IAP 创建应用程序时,我查找了 stackoverflow 来回答我所有的问题。但是当证书过期时,当我添加新设备等时,我一直遇到问题,每次我在经过大量摆弄并回到 stackoverflow 之后找到临时解决方案。不要误会我的意思,stackoverflow 中有很好的答案,但根据我的经验,阅读更长的内容来解释大局是一个更好的策略。App ID、Bundle ID、证书、私钥等都是一个混乱的主题,特别是如果你不明白为什么要这样构建的话。