如何为不同的构建配置本地化应用程序名称?

7
我有一个项目,包含三个编译配置:Debug、Beta和Release。每个配置都有不同的应用程序名称。我使用类似APP_DISPLAY_NAME的变量,并将其用于Info.plist文件来实现此目的。
我需要本地化这些应用程序名称。
使用InfoPlist.strings文件中的"CFBundleDisplayName",可以覆盖这些配置名称。
那么我该如何做呢?
我查看了此问题以及其他几个问题,但仍未得到结果。

1
你有没有找到解决办法?我也遇到了同样的问题。谢谢。 - Justin Stanley
1个回答

2
以下是如何在同一目标中为不同的构建配置使用不同的InfoPlist.strings文件:
  1. 在您的构建设置中:
    • 为每个配置指定不同的Info.plist文件(INFOPLIST_FILE)
    • 调整字符串文件名以用于Info.plist (STRINGS_FILE_INFOPLIST_RENAME) 设置为Yes。在Xcode 14中,默认设置为Yes
  2. 创建带有您的Info.plist文件名的基本名称+ Plist.strings的.strings文件。
    • 例如,如果您的Info.plist文件名为Beta-Info.plist,则您的字符串文件应该命名为Beta-InfoPlist.strings。确保将所有这些字符串文件包含在您的构建中。
  3. 不要在您的目标中包含一个InfoPlist.strings文件。
使这个工作的关键是在构建设置参考中调整Info.plist的字符串文件名。

调整Strings文件名以用于Info.plist。
设置名称:STRINGS_FILE_INFOPLIST_RENAME

如果启用,将与目标的Info.plist文件的基本名称匹配的.strings文件重命名为InfoPlist.strings,在生成的产品中。

例子

以下是我的应用程序的示例,其中有3个不同的变体(AdSupported、AdSupported-Dev、Pro),需要不同的应用程序名称。

  1. 构建设置。 (我有每个变体的调试和发布配置,但您也可以只使用Debug / Beta / Release。)

Build settings

  1. 字符串文件。它们都包含在我的目标中。

InfoPlist strings files

  1. Info plist文件。像往常一样,它们在构建设置中指定,而不包含在我的目标中。

InfoPlist files


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接