来自{PRODUCT_NAME}的XCode包标识符格式

rav*_*nsp 28 iphone xcodebuild cfbundleidentifier

假设我在XCode构建设置中有一个iPhone应用程序,其产品名称是" 我的应用程序 "(在单词之间有空格).在我的info.plist中,Bundle标识符被指定为com.mycompany.${PRODUCT_NAME:rfc1034identifier}

在应用程序包中生成的info.plist中,包标识符显示为com.mycompany.My-App.我需要它com.mycompany.MyApp.如何更改Bundle Identifier设置,以便按照我想要的方式转换产品名称?

PS.如果我更改为${PRODUCT_NAME:rfc1034identifier}to ${PRODUCT_NAME:identifier},则生成的包标识符将是com.mycompany.My_App.我只需要在结果中完全删除产品名称中的空格字符.

dea*_*rne 43

只需输入它?

即而com.mycompany.${PRODUCT_NAME:rfc1034identifier}不仅仅是打字com.mycompany.MyApp

如果您有多个目标需要不同的包名称,一种方法是创建自己的变量并使用它.

在构建菜单中(选择项目并选择"获取信息"),您可以将自己的变量添加到项目中.如果您创建一个名为MY_BUNDLE_NAME并将其设置为MyApp,则可以com.mycompany.${MY_BUNDLE_NAME}输入plist文件.您应该可以将MY_BUNDLE_NAME设置为不同目标的不同值.

  • 谢谢你的回答,但我的情况并不那么简单!当然你已经理解了我的问题,但我没有告诉我的是我有几个相同应用程序的"目标"需要有不同的包标识符.所以我需要根据每个目标所具有的构建设置动态配置包标识符.例如,一个目标可能具有"我的App1"作为产品名称,而另一个目标可能具有"我的App2"作为产品名称.这就是我需要动态而不是硬编码的原因. (2认同)