apple 的 app id

最近做ios游戏的平台相关的工作。


平台商要求把我们产品的bundle id加上他们的标记,比如我们的bundle id叫 com.lc.test ,如果我上CSDN的平台,就需要改成 com.lc.testCSDN之类的。

作为一个不是做ios的,我貌似记得以前有人告诉我bundle id是和证书绑定的不能随便改。而且我测试了下,改了之后确实不能打包


经过一下午的查找之后,总结如下:

1、苹果的app id分为2种,一种是explicit ID , 直译为 显式ID, 一种是wildcard ID ,直译 通配ID。在创建app id的时候可以设置,创建之后类型不可切换。

2、2种ID最直观的区别,explicit ID必须是全名,比如 com.lc.test , wildcard ID最后一个段为星号(*),比如 com.lc.*  。

3、wildcard ID的星号部分,可以随便替换,不影响打包,而且不同的后缀打包出的app不同(简单的说就是一个wildcard ID如果最后的星号部分不同,安装到机器上后是2个app,不会相互覆盖)。explicit ID 不能改。

4、wildcard ID不能使用 iap,game center , 推送 , explicit ID可以。

5、最后总结,explicit ID基本是用来上appstore的(主要是有game center ,推送,iap等权限)。wildcard ID 很适合走非官方平台。


最后再说说为什么wildcard ID适合非官方平台。

因为苹果app是靠bundle ID来区分的,如果2个app bundle ID相同,就会相互覆盖。wildcard ID因为最后的星号可以随便改,所以可以为不同平台增加一个区分的作用。否则不同平台之间的版本会相互覆盖。


如果只是越狱app的话,就完全不需要考虑bundle ID的事情了,我们用的是in house所以这么麻烦。

你可能感兴趣的:(移动应用)