Luc*_*orr 11 xcode ios bundle-identifier
我似乎无法弄清楚这里的差异.我的应用程序Monsters!
在plist中命名为,所以Bundle Identifier是
com.businessname.${PRODUCT_NAME:rfc1034identifier}
Run Code Online (Sandbox Code Playgroud)
根据我的理解:rfc1034identifier
从Bundle ID中移除禁用的字符,在我的情况下,!
在最后Monsters!
但出于某种原因,当我进入我的项目设置时,Xcode给了我一个Bundle Identifier
com.businessname.Monsters-
Run Code Online (Sandbox Code Playgroud)
我意识到我可以进入plist并只是对我的Bundle Identifier进行硬编码,但有人知道在哪里或为什么-
要添加它?
Vla*_*lad 12
bundle标识符允许的字符与DNS相同.因此,您不能放置任何空格,引号等.特别是对于您的情况,我认为最好的想法是使用有效的标识符手动编辑包ID,而不是使用产品名称.
根据Apple doc:
此字符串必须是统一类型标识符(UTI),其仅包含字母数字(AZ,az,0-9),连字符( - )和句点(.)字符.
任何不符合此标准的内容都将自动替换为破折号,因为只有短划线和句点字符有效.在此之前,申请在不遵守此规则时被拒绝.因此,要回答您的问题,这是一项措施,可以防止您的应用在商店中提交时被拒绝.
Xcode用非坏字符替换坏字符.他们任意选择-
.
而不是使用${PRODUCT_NAME:rfc1034identifier}
,我会定义一个新设置,其值为您的产品名称!
,而不是使用它而是使用它.
转到"项目"设置,在"构建设置"下,应该有一个"用户定义"部分.单击顶部附近的"基本所有|组合级别+ +",然后单击顶部的+按钮添加新设置.打电话给它PRODUCT_NAME_SAFE
并给它价值Monsters
.然后将您的Bundle ID设置为 com.businessname.${PRODUCT_NAME_SAFE}
.
根据您的需要,此解决方案可能还有其他变体.
归档时间: |
|
查看次数: |
4314 次 |
最近记录: |