ios – 本地化具有附加后缀的App显示名称

在向InfoStrings.plist添加本地化时,我遇到了获取应用程序显示名称以包含附加后缀的问题.

我添加了不同的方案和用户定义的属性.所以在我的info.plist中,我的CFBundleDisplayName中有App Name $(BUNDLE_DISPLAY_NAME_SUFFIX).在我创建的发布方案上运​​行开发方案和普通应用程序名称时,它会将-S附加到我的应用程序名称.一切都运作良好.

但是,当我尝试翻译应用程序名称时,它不再起作用.所以在我的infoPlist.strings中,我尝试了以下内容:

"CFBundleDisplayName" = "App Name ";
"CFBundleDisplayName" = "App Name $(BUNDLE_DISPLAY_NAME_SUFFIX)";

当我运行开发方案时,两者都不会附加-S.有谁知道我怎么能这样做?比如也许如何在infoPlist.strings中读取$(Bundle_DISPLAY_NAME_SUFFIX).

更具体地说,如何在InfoPlist.strings中包含预处理器?

最佳答案 我找到了
answer to your question in another thread, here,但它说你需要一个脚本.

如何创建不同的后缀(不是要求的)
以下是根据您的方案设置应用程序的不同显示名称的方法.您可以通过设置不同的配置来完成此操作.转到项目设置 – >选择项目(不是目标) – >信息标签 – >然后创建您想要的任意数量的配置.也许一个用于Production,Debug和一个用于Beta版本.

然后选择你的目标 – >构建设置标签 – >在搜索中输入显示.在用户定义下,您可以创建自己的变量,例如调用它BUNDLE_DISPLAY_NAME_SUFFIX.为Production,Debug和Beta提供不同的值.

打开Info.plist文件,在Bundle显示名称下,您可以看到MyApp,附加字符串${BUNDLE_DISPLAY_NAME_SUFFIX},这样就可以生成MyApp ${BUNDLE_DISPLAY_NAME_SUFFIX}.

最后配置您的方案以使用正确的配置.您可能希望使用Production for Archive和Debug for Debug.

Here is an image of the User defined variable

点赞