我正在编写我的第三个应用程序,我已经在App Store中有一个应用程序,但我仍然没有获得此App ID业务。
我为前两个应用程序创建了App ID,如下所示:
XXXXXXXXXX.me.cbg.FirstApp YYYYYYYYYY.me.cbg.SecondApp
然后Apple推出了App ID向导,我用它为我的第三个应用程序创建App ID和配置文件:
ZZZZZZZZZZ.*
所以我的问题是:为三个完全独立的应用程序创建App ID的“正确”方法是什么?
我应该使用XXXXXXXXXX.*
格式还是XXXXXXXXXX.me.cbg.*
?
我应该创建三个不同的App ID,还是只创建一个通配符ID?
答案 0 :(得分:13)
两者都是“正确的”,这主要是在易于管理和允许更细粒度的证书管理之间进行权衡的问题。
有两个技术差异:
ID为的应用程序 相同的保存从顶层 (例如com.mycompany.aaa和 com.mycompany.bbb)能够 访问彼此保存的数据。如果 你正在写一套 然后这可能是应用程序 非常有用。
您只能创建有限的号码 “AdHoc”证书。如果你的 应用程序具有相同的通配符 标识符然后这个限制将是 强加给你所有人 应用
对于小型开发人员,我建议使用通配符ID。它导致在几个领域管理的次数要少得多,因此消除了很多错误的可能性。请记住,对于每个ID,您可能有三个单独的证书(dev / adhoc / appstore)。
背景:
每个iPhone应用程序都必须具有唯一的标识符和证书。开发人员可以使用完整的名称(例如com.mycompany.aaa)为每个应用程序创建证书,也可以创建通配符证书/ ID(例如com.mycompany。*),在这种情况下,.plist文件中的应用程序名称用于在DRM过程中完成标识符。
答案 1 :(得分:4)
嘿,我刚刚来到这里,但是(恕我直言)我有点惊讶的是,答案不明确。
根据我的理解,如果您不想在应用中使用In App Purchase或推送通知服务,则可以使用通配符应用ID自由提交应用。如果您想使用其中一个,Apple提到您应该具体使用您的应用ID。
但是,还有另外一项要求,引自Provisioning portal:
如果您要创建一组将共享相同Keychain访问权限的应用程序(例如,在应用程序之间共享密码)或拥有一组没有Keychain Access要求的应用程序,请为使用尾随星号的所有应用程序创建一个App ID一个外卡人物。
登录Developer Portal时请参阅此页面: iPhone Provisioning Portal - App ID How To
希望有所帮助。
答案 2 :(得分:2)
在Apple网站上创建应用ID时,请在第二个框中使用以下内容:
me.cbg.*
现在,在您的应用中,Info.plist使用包标识符,如下所示:
me.cbg.${PRODUCT_NAME:identifier}
// or
me.cbg.SomeAppName
您可以放心地忽略XXXXXXXXXX预览您的应用ID。
答案 3 :(得分:1)
我个人总是会在制作时使用Explicit App ID,因为您永远不知道将来何时需要应用内购买或推送通知。 Apple声称可以从通配符升级到显式应用ID但是......
该链接很有用:http://developer.apple.com/library/ios/#qa/qa1713/_index.html
答案 4 :(得分:1)
要理解的关键是必须使用显式应用ID。来自iOS Team Administrator Guide:
如果您想使用 APNS,应用内购买,iCloud,和游戏中心功能,请使用明确的应用ID。
如果您觉得无法访问这些功能,则可以使用通配符App ID。