在将本地化添加到 InfoStrings.plist
时,我无法让应用程序显示名称包含附加后缀。
我添加了不同的scheme
和User-Defined
属性。所以在我的 info.plist 中,我的 CFBundleDisplayName
中有 App Name $(BUNDLE_DISPLAY_NAME_SUFFIX)
。当在开发方案上运行时,它将在我的应用程序名称上附加一个 -S
,在我创建的发布方案上运行正常的应用程序名称。一切正常。
但是,当我尝试翻译应用程序名称时,它不再起作用了。所以在我的 infoPlist.strings
中,我尝试了以下操作:
"CFBundleDisplayName" = "App Name ";
"CFBundleDisplayName" = "App Name $(BUNDLE_DISPLAY_NAME_SUFFIX)";
当我在开发方案上运行时,两者都不再附加 -S
。有谁知道我怎么还能那样做?比如如何让 $(Bundle_DISPLAY_NAME_SUFFIX)
在 infoPlist.strings
中被读取。
更具体地说,如何在 InfoPlist.strings
中包含预处理器?
最佳答案
我找到了 answer to your question in another thread, here ,但上面说你需要一张纸条。
如何创建不同的后缀(不是要求的)
以下是如何根据您的方案设置应用程序的不同显示名称。您可以通过设置不同的配置
来做到这一点。转到项目设置 -> 选择项目(不是目标) -> 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
。
关于ios - 本地化具有附加后缀的应用程序显示名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39138849/