要在不同语言环境下显示相应的App名称,需要在Xcode里进行相应设置,否则只会显示Info.plist里设置的Bundle display name,或者是Target的名称。
Xcode 7.2里设置大概步骤:
1、项目设置PROJECT->Info->Localizations,“+”号添加需要的语言;
2、项目里new一个文件,Resource->Strings File,名字一定要叫【InfoPlist】,后缀默认为“.strings”;
3、选择该InfoPlist.strings文件,打开其的Utilities窗口(即常用的属性窗口),点击Localization添加想要的语言;
4、在其添加的子文件下,各自设置"CFBundleDisplayName" = "相应语言想显示的名称";
一般是设置中文版和英文版名字,设置完成后可以运行下程序,然后切换模拟器或真机的语言,看看App名称是否改变。
特别说明下,new的那个“.strings”文件一定要叫“InfoPlist”,否则不生效。起初因为叫了其他名字,鼓捣半天都不生效,最后排查出是这个问题。
个人觉得也许是因为IDE的某个相关设置里写死了该字符串(InfoPlist)的名字,所以如果自己new的文件不叫这个名字IDE就不加载,也有可能是写死在IDE的代码里?类似的现象如项目生成时默认生成的Info.plist,该文件点击“+”号时可以联想出支持的属性,但如果修改文件名的话,就会失去联想功能。
因此猜想某些IDE功能只支持特定名字的文件,反推“.strings”的名字问题。
---------------------
原文:https://blog.csdn.net/kakulukia/article/details/79942099