如何在Xcode 10.1中修改iOS应用显示名称?修改后仍显示旧名称
嘿,我之前也踩过这个坑!明明改了Info.plist里的Bundle Display Name,装到手机上却还是旧名字,给你几个排查和解决的步骤,亲测有效:
确认Info.plist的键和目标是否正确
首先要确保你改的是对应Target的Info.plist(如果项目有多个Target的话很容易选错),而且键名要准确——系统识别的原始键是CFBundleDisplayName,虽然Xcode里显示的是"Bundle display name",但手动编辑的时候别写错拼写和大小写。另外,要保证这个键的字符串值确实改成了新名称,没有多余空格或无效字符。检查本地化的InfoPlist.strings文件
如果你的应用做了多语言本地化,每个语言目录下(比如en.lproj、zh-Hans.lproj)的InfoPlist.strings文件里可能还存着旧的显示名称。比如英语版本里可能有CFBundleDisplayName = "旧名称";,这时候系统会优先用本地化文件里的值,所以得把所有语言的这个值都改成新名称。彻底清理缓存并重装应用
Xcode的缓存有时候会搞事情,按这几步来:- 按下
Cmd+Shift+K清理Build Folder(比普通Clean更彻底) - 删掉手机上已经安装的旧应用
- 重启Xcode和你的iOS设备
- 重新编译并安装到手机上
- 按下
检查Build Settings的配置
去Target的Build Settings里搜索Product Name,虽然CFBundleDisplayName的优先级更高,但如果前者和旧名称一致,而你没正确设置CFBundleDisplayName的话,系统可能会 fallback 到这个值。可以把Product Name也改成新名称,或者确认CFBundleDisplayName已经正确配置。验证Info.plist的源码格式
有时候可视化编辑plist会出现隐性错误,右键点击Info.plist选择Open As -> Source Code,检查CFBundleDisplayName对应的代码块是否正确,比如:<key>CFBundleDisplayName</key> <string>你的新应用名称</string>确保没有语法错误,比如引号没闭合、标签不配对之类的问题。
内容的提问来源于stack exchange,提问作者Gabriela




