最近做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因为最后的星号可以随便改,所以可以为不同平台增加一个区分的作用。否则不同平台之间的版本会相互覆盖。
本文介绍了iOS应用的bundleID类型,包括explicitID和wildcardID,并详细阐述了它们的区别和使用场景。explicitID适用于App Store发布,支持iap、gamecenter和推送,而wildcardID适合非官方平台,因为其可变的后缀能避免不同平台间的版本覆盖问题。对于非iOS开发者,理解这些概念对于与平台商合作至关重要。
&spm=1001.2101.3001.5002&articleId=119008798&d=1&t=3&u=5218c2bf98fc4b1eafa0ddd8ae73b114)
2309

被折叠的 条评论
为什么被折叠?



