我的“应用程序标识(App IDs)”部分应该长什么样?

9
我知道有很多其他的问题,但我似乎找不到我想要的答案。
假设我现在有5个应用程序:
- App1和App2是相同myApp的完整版和精简版,我想在它们之间共享数据 - App3是独立的,但使用应用内购买 - App4和App5是另外两个独立的应用程序
我应该只有一个通用的App ID,比如ABCDE12345.*,用它来签署像App4和App5这样的应用程序(以及所有未来不需要IAP等功能的新应用程序),然后使用ABCD123456.myCompany.App3来为App3签署,最后使用ABC1234567.myCompany.myApp.*来为App1和App2签署吗?
这听起来对吗?还是我完全错了? 或者换句话说,你的App ID是什么样子的? :)
感谢您的任何见解!
3个回答

6

我会这样做:

  • App1和App2应该使用类似于ABCDE12345.com.myCompany.AppName的命名方式
  • App3应该使用ABCDE12345.com.myCompany.App3
  • App4应该使用ABCDE12345.com.myCompany.App4
  • App5应该使用ABCDE12345.com.myCompany.App5

换句话说,由于您想要共享数据,因此在App1和App2之间共享应用程序ID。在开发过程中,使用通用应用程序ID(例如ABCDE12345.com.myCompany.*),但在分发时,每个独立的应用程序都应具有其自己的唯一应用程序ID。


感谢您的回答。每个发布构建使用唯一的应用程序ID是否有特定原因? - phi
我们这样做的一个原因是为了AdHoc分发。由于配置文件是由您的发布证书、应用程序ID和(对于AdHoc)设备ID组成的。独特的应用程序ID允许配置文件针对每个应用程序进行唯一设置,您可以分发应用程序并控制到期日期和访问权限(而不是整个应用程序套件)。 - theChrisKent
然而,这并不是App Store分发的严格要求。我们只是认为这是所有分发形式的最佳实践,并且这使得我们的工作更加轻松。如果您没有Ad Hoc分发需求(测试beta版,提交给客户等),那么您可能不需要除通配符App ID之外的任何东西。 - theChrisKent

1
Irene,我在Ad Hoc分发中使用特定的应用程序ID(例如com.thinkfun.rushhour等),但在调试模式下使用通配符ID进行开发。这使我可以在设备上为每个应用程序使用相同的配置文件,甚至包括我从开发者中心下载的示例代码,而无需担心应用程序ID。
此外,如果您想使用推送通知、应用内购买或游戏中心,则必须为每个版本使用特定的应用程序ID,而不是通配符。请查看iOS Provisioning Portal页面获取更多信息。
我在所有应用程序之间共享一个Bundle Seed ID(例如您示例中的ABCDE12345),因为这样做简单方便,并且不会限制任何上述功能。祝你好运!

1

苹果建议使用反向域名样式字符串(即com.domainname.appname),与普通域名表示法不同,不能包含星号(*)。

普通域名表示法示例:

appName.MobilityFin.CompName.com

反向域名表示法示例:

com.CompName.MobilityFin.appName

因此,我们可以将其命名为以下内容:
  • com.yourCompanyName.mobilityFinance.appname

  • com.yourCompanyName.mobilityHR.appname

  • com.yourCompanyName.mobilityTransaction.appname

  • com.yourCompanyName.mobilityAccounts.appname


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