Xcode 9添加Info.plist本地化后无法打开文件及运行项目
问题分析与解决步骤
我之前也碰到过完全一样的情况!你推测的原因完全正确——添加本地化后,Info.plist被移动到了Base.lproj和en.lproj文件夹里,但Xcode的Build Settings还指向原来的文件路径,导致系统找不到文件,进而出现打不开配置、项目无法运行和“R”图标的问题。下面是亲测有效的解决步骤:
核心解决步骤
第一步:确认文件实际位置
右键点击项目导航里的Info.plist (Base),选择Show in Finder,确认它确实已经在Base.lproj文件夹内,同时en.lproj里也存在对应的本地化版本。第二步:更新Build Settings中的Info.plist路径
- 选中项目根节点,切换到
Build Settings标签页 - 在搜索框输入
Info.plist File,定位到对应的设置项 - 将原来的旧路径修改为新的路径,比如你的项目文件夹叫
MyApp,新路径就改成$(SRCROOT)/MyApp/Base.lproj/Info.plist(Base版本是Xcode默认加载的主配置文件)
- 选中项目根节点,切换到
第三步:清理项目缓存
- 按下
Cmd+Shift+K清理当前Build文件夹 - 再按下
Cmd+Option+Shift+K执行深度清理,彻底清除残留的缓存文件
- 按下
第四步:重启Xcode
关闭Xcode后重新打开项目,此时应该就能正常打开Info.plist,项目也能正常编译运行了
额外排查(如果上述步骤无效)
- 检查项目本地化配置:点击项目根节点→
Info标签页→滚动到Localizations区域,确认Base和en已添加,且Info.plist对应的本地化选项处于勾选状态 - 核对文件引用路径:在项目导航里选中Info.plist相关文件,查看右侧
File Inspector里的Location设置,确保是Relative to Project且路径与实际文件位置一致
内容的提问来源于stack exchange,提问作者mkkrolik




