【问题标题】:iOS PRODUCT_NAME not the display and wrapper nameiOS PRODUCT_NAME 不是显示和包装名称
【发布时间】:2015-09-03 23:01:50
【问题描述】:

对于我的 iOS 应用,我尝试使用多个构建配置,以便创建针对不同服务器、配置等的开发和生产构建。

在 Xcode 中,我创建了另一个构建配置和方案来定位此配置。所以我有单独的配置/方案:

开发版 PRODUCT_NAME=MyApp-dev BUNDLE_IDENTIFIER=com.organisation.myapp-dev

原版 PRODUCT_NAME=MyApp BUNDLE_IDENTIFIER=com.organisation.myapp

两种配置都可以使用不同的方案构建。由于标识符不同,两者都将在同一设备上运行,但开发版本仍会在主屏幕上显示 MyApp。查看构建产品时,它会生成一个 MyApp.app 包,其中包含 MyApp-dev 的目标。

是否有其他设置可以将包装器名称从 MyApp.app 更改为 MyApp-dev.app?以及任何其他可能会阻止在应用显示名称中使用 PRODUCT_NAME 设置的设置?

编辑:在 info.plist 文件中,CFBundleNameCFBundleDisplayName 都设置为 $(PRODUCT_NAME)

n.b.我之前已经用另一个应用程序完成了此操作,并且在那里一切正常,因此查询另一个开发人员是否更改了覆盖此更改的更有针对性的设置。

【问题讨论】:

  • 为什么需要不同的产品名称/捆绑 ID 来针对不同的服务器等?使用-D 设置的编译器常量有什么问题?
  • 这样他们就可以在同一台设备上并排运行

标签: ios xcode


【解决方案1】:

项目中有一个 InfoPlist.strings 文件覆盖了 CFBundleDisplayName。我从这个文件中删除了这个定义,一切都按预期工作。

该项目未本地化,因此我从未考虑过此覆盖!希望如果其他人遇到此问题,请记住 Info.plist 中的设置可以被此文件中的本地化字符串覆盖。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-05
    • 1970-01-01
    • 1970-01-01
    • 2017-01-15
    相关资源
    最近更新 更多