Flutter iOS端应用名称修改后未生效的原因及解决方法
核心问题:混淆了两个关键配置项
iOS系统里,CFBundleName是应用的内部标识名(主要用于系统后台、日志输出),而用户在桌面看到的应用名称,实际由CFBundleDisplayName这个配置项控制。多数基础教程只提修改CFBundleName,这就是你iOS端名称没变化的核心原因。
具体解决步骤
补充/修改
CFBundleDisplayName配置
打开ios/Runner/Info.plist,添加或修改CFBundleDisplayName键,把值设为MyApp:<key>CFBundleDisplayName</key> <string>MyApp</string>这个配置的显示优先级高于
CFBundleName,是控制桌面名称的关键。检查Xcode可视化设置
打开ios/Runner.xcworkspace,左侧选中Runner目标,切换到General标签页,查看Display Name字段。如果这里还是MyApp Mobile,直接改成MyApp——Xcode的可视化设置会直接覆盖Info.plist里的内容,很多人会忽略这一点。彻底清理缓存(比flutter clean更彻底)
只执行flutter clean && dart pub get可能清不干净Xcode的缓存,试试这套命令:flutter clean rm -rf ios/Pods ios/Podfile.lock ios/Runner.xcworkspace dart pub get cd ios && pod install执行完关闭Xcode,再重新构建应用。
排查本地化配置文件
如果你的应用开了多语言本地化,可能存在不同语言版本的Info.plist字符串文件(比如ios/Runner/zh-Hans.lproj/InfoPlist.strings)。打开这些文件,确保里面的CFBundleDisplayName也改成了MyApp:"CFBundleDisplayName" = "MyApp";
验证技巧
修改完先通过Xcode直接构建运行到设备/模拟器,要是还没生效,重启一下模拟器或真机——iOS偶尔会缓存旧的应用名称,重启就能刷新。
内容的提问来源于stack exchange,提问作者ffxsam

