我已经阅读了this的技术说明,我感到困惑,因为我已经在我开始开发时创建了我的应用程序的一个边界id(这是我当前的捆绑ID,我创建了当前的配置和测试配置文件:hello- *) .
为了使用GameKit和InApp购买,我应该创建一个新的Bundle ID?
我很困惑,因为:
>我不知道当前的Bundle ID是否有效(关于上面链接的技术说明)
>我不知道hte Bundle Id是否影响我以后可以在App中添加的内容(例如App Store,GameKit,…)
>如果我创建一个名称为新的应用程序(例如:HelloApple),但是使用通配符(Say:hello- *)的捆绑包ID,我可以添加一个具有相同名称但不同的捆绑ID的新App阶段?这确实在发布任何两个应用程序之前.
>我完全不明白为什么在使用或不使用通配符之间有选择;换句话说,如果需要在应用程序购买和GameKit中使用非通配符捆绑ID,那为什么开发人员要使用通配符应用程序ID?
任何帮助将不胜感激,特别是我需要解决我的第一个问题:哪个捆绑ID应该使用顺序使用GameKit和InAppPurchase?
解决方法
捆绑ID:一个正确识别单个应用程序的反向DNS字符串.
捆绑ID搜索字符串:它用于匹配一组捆绑ID,其中每个捆绑ID标识单个应用程序.例如,如果bundle ID搜索字符串是com.mycompany.MyApp或通配符,例如com.mycompany.*,那么它将匹配bundle ID com.mycompany.MyApp.
应用程序ID:用于标识单个团队中的一个或多个应用程序的字符串.应用程序ID包含一个包ID ID搜索字符串,前面是团队ID,由Apple生成的10个字符的字符串来唯一标识一个团队.在链接的technical note中,它是ABCDE12345并称为捆绑种子ID.
(开发)配置配置文件:您可以使用它来授权应用程序在设备上启动,并在开发过程中使用某些商店技术.它包括:单个App ID,一组设备和一组开发证书.配置配置文件在会员中心中创建,您需要在设备上运行您的应用程序. XCode可以下载配置文件并将其安装到设备上.
现在我会回答你的子弹:
>要使用游戏中心(GameKit)和IAP,您需要一个显式的应用程序ID,即应用程序ID和一个没有*的包ID搜索字符串.通配符应用程序ID是具有*的捆绑ID搜索字符串的ID,现在是其中的一个.
>您最初创建的是具有关联Bundle ID的应用ID.如果它是明确的,你可以添加Game Center和IAP,如果它是一个通配符应用程序ID不是…就是这样.
>您不能拥有不同名称的两个应用程序,但是具有相同的显示应用程序ID或软件包ID.但是您可以使用不同名称的两个应用程序,使用通配符应用程序ID不会使用具有唯一应用程序ID的Game Center或IAP.
>你问为什么通配符是有用的?嗯,我说如果你不使用Game Center或IAP,你可以有两个或更多应用程序与通配符应用程序ID相关联.然后,您可以使用此应用程序ID创建配置配置文件,您只需在设备上为所有应用程序安装配置配置文件.这种类型的默认配置配置文件称为团队配置配置文件,适用于所有应用程序,但您可以为所有应用程序的一小部分创建更具体的配置文件.
这个过程对大团队非常有用.如果你有一个小团队和几个应用程序真的很混乱,但它有助于了解背后的原因.
但是还有更多的话要说这一切.我建议您像我最近一样下载,打印和阅读“App Distribution Guide”.它是一个215页的PDF,但目前您只需要阅读第24-78页(其中对待开发证书和配置文件).很清楚,截图完整,它会回答你所有的问题.另外你可以回到导轨的路上快速解决一些问题(你会有问题).
我第一次使用游戏中心和IAP创建一个App一年多以前,我查找了stackoverflow来回答我所有的问题.但是当证书过期时,我添加了新的设备等,并且每次发现和Ad-hoc解决方案都经历了很多困扰,并且回到了stackoverflow,我一直在出现问题.不要误会我,在stackoverflow中有很好的答案,但是在我的经验中阅读更长时间,解释大图的更好的策略.应用程序ID,软件包ID,证书,私钥等是一个凌乱的主题,特别是如果你不明白为什么它是这样构建的.