我正在尝试开发一款与“Made for iPhone”配件正确集成的iPhone应用程序。关于具有通配符Bundle Identifiers的应用程序是否能够正常工作,存在冲突的文档。我需要知道是否
制造商要求我们的捆绑种子ID和捆绑标识符,他们告诉我们应该是反向dns样式字符串,但它实际上是。*
相互矛盾的信息......
来自Apple的配置门户网站:
App ID是称为“Bundle Seed ID”的唯一十个字符串和传统CF Bundle ID(或Bundle Identifier)的组合。您可以使用App ID的Bundle Seed ID部分在使用单个App ID构建的多个应用程序之间共享Keychain访问。此外,它还可以合并到您希望与iOS应用程序配对的任何外部硬件配件中。需要注册您的App ID才能使用Apple推送通知服务(APN)并注册应用程序以合并In App Purchases。
App ID的Bundle Identifier部分可以用通配符(星号'*')代替,以便可以使用单个App ID来构建和安装多个应用程序。如果未使用通配符,则必须在Xcode中输入App ID的Bundle Identifier部分作为CF Bundle ID,以允许应用程序安装在您的设备上。您的App ID的Bundle Seed ID部分不需要输入Xcode。通配符应用程序ID不能与Apple推送通知服务或In App Purchase一起使用。
来自gumbypp的App ID部分。具体来说:
Apple表示:“App ID是iPhone开发和配置流程中不可或缺的一部分,它允许应用程序与Apple推送通知服务和/或外部硬件配件进行通信。”对于使用APNS,In App Purchase或外部硬件配件的每个应用程序,您将需要一个特定的App ID。所有其他应用都可以使用通配符应用ID。
我在Google上搜索了这句话,但找不到它。
答案 0 :(得分:1)
在您的配件中,在识别过程中,附件必须告诉iOS捆绑种子ID,xxxxxxxx.com.yourcompany.yourappname的xxxxxxxx部分。
iOS将使用此Bundle Seed ID搜索负责与此附件通信的应用程序。如果您的应用具有通配符标识符,则永远不会选择它。然后会显示一个对话框,询问用户是否应该前往App Store搜索所需的应用程序。
答案 1 :(得分:1)
我打电话给硬件制造商的技术支持,他们确认通配符应用程序ID没问题。我认为在构建/部署时,通配符App ID会解析为显式的App ID。
我能说的唯一限制是无法使用推送通知和游戏中心。