Xcode 找不到本地化的 info.plist

Posted

技术标签:

【中文标题】Xcode 找不到本地化的 info.plist【英文标题】:Xcode cannot locate localized info.plist 【发布时间】:2013-08-05 07:14:31 【问题描述】:

添加一些本地化后:

并本地化(AppName)-info.plist 文件:

并检查了捆绑资源(还尝试从 Copy Resources Bundle 列表中删除 Go-info.plist:

和文件属性:

Xcode (4.6.3) 报错:

错误:无法从“.../Go/Go/Go-Info.plist”读取数据:文件 “Go-Info.plist”无法打开,因为没有这样的文件。

看起来 Xcode 忽略了路径中的本地化文件夹。它试图将 info.plist 查找为:

.../Go/Go/Go-Info.plist

代替:

.../Go/Go/(Localization)/Go-Info.plist

我该如何解决?

【问题讨论】:

我不确定您是否可以本地化 info.plist。如果您想本地化您的 AppName,您应该本地化 infoPlist.strings 文件并添加这些键: "CFBundleDisplayName" = "AppName"; "CFBundleName" = "AppName"; 【参考方案1】:

我认为 Info.plist 无法本地化。如果您想本地化您的应用程序名称,您应该本地化 InfoPlist.strings 文件并使用这些键:

"CFBundleDisplayName" = "AppName";
"CFBundleName" = "AppName";

【讨论】:

去掉 key 的双引号,因为它已经是一个 NSString 值,对我很有用。 这是 Apple Doc 供参考:developer.apple.com/library/ios/documentation/General/Reference/… 感谢您指出 Info.plist 和 InfoPlist.strings 是两件事...我认为许多像我这样的“聪明”人在本地化时会忽略它们的区别。【参考方案2】:

逐步本地化Info.plist:

    在 x-code 中找到文件夹 Resources(放在根目录下) 选择文件夹资源 然后按主菜单File->New->File... 在“资源”字符串文件部分中选择,然后按下一步 然后在“另存为”字段中仅写入 InfoPlist(“I”大写和“P”大写) 然后按创建 然后选择在 Resources 文件夹中创建的文件 InfoPlist.strings 并在右侧菜单中按“本地化”按钮 然后从项目导航器中选择项目并从项目列表中选择项目 在底部的信息选项卡中,您可以选择所需的语言(本地化部分中有) 您可以在资源文件夹中看到的语言 要本地化 info.plist 文件中的值(“键”),您可以使用文本编辑器打开并获取您想要本地化的所有键 您可以在任何 InfoPlist.strings 中编写任何键作为示例,如上例所示

"NSLocationAlwaysAndWhenInUseUsageDescription"="blabla";

"NSLocationAlwaysUsageDescription"="blabla2";

所有工作都完成了,您已经本地化了您的 info.plist 文件!

【讨论】:

以上是关于Xcode 找不到本地化的 info.plist的主要内容,如果未能解决你的问题,请参考以下文章

Xcode找不到本地化的info.plist

在 Xcode 5 中禁用基本本地化后找不到 MainMenu.xib

Xcode 找不到源文件

Xcode 找不到任何匹配的配置文件

Xcode - 目标特定的本地化

XCode PhoneGap 本地化