在向InfoStrings.plist
添加本地化时,我在获取应用显示名称以包含附加后缀方面存在问题。
我添加了不同的scheme
和User-Defined
属性。所以在我的info.plist中,我的App Name $(BUNDLE_DISPLAY_NAME_SUFFIX)
中有CFBundleDisplayName
。在我创建的发布方案上运行开发方案和普通应用程序名称时,它会向我的应用名称附加-S
。一切都运作良好。
但是,当我尝试翻译应用名称时,它不再起作用了。所以在我的infoPlist.strings
中,我尝试了以下内容:
"CFBundleDisplayName" = "App Name ";
"CFBundleDisplayName" = "App Name $(BUNDLE_DISPLAY_NAME_SUFFIX)";
当我运行开发方案时,两者都不会附加-S
。有谁知道我怎么能这样做?或许如何在$(Bundle_DISPLAY_NAME_SUFFIX)
中阅读infoPlist.strings
。
更具体地说,如何在InfoPlist.strings
中包含预处理器?
答案 0 :(得分:1)
我找到了answer to your question in another thread, here,但它说你需要一个脚本。
如何创建不同的后缀(不是要求的内容)
以下是根据您的方案设置应用程序的不同显示名称的方法。您可以通过设置不同的configurations
来执行此操作。转到项目设置 - >选择项目(不是目标) - > Info
标签 - >然后创建您想要的任意数量的配置。可能一个用于Production
,Debug
和一个用于Beta
版本。
然后选择您的Target
- > Build settings
标签 - >在搜索中输入display
。在User defined
下,您可以创建自己的变量,例如调用它BUNDLE_DISPLAY_NAME_SUFFIX
。为Production
,Debug
和Beta
提供不同的值。
在Info.plist
下打开您的Bundle display name
文件,您可能会看到MyApp
,附加字符串${BUNDLE_DISPLAY_NAME_SUFFIX}
,使其成为MyApp${BUNDLE_DISPLAY_NAME_SUFFIX}
。
最后配置您的方案以使用正确的配置。您可能希望将Production
用于Archive
,将Debug
用于Debug
。