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的主要内容,如果未能解决你的问题,请参考以下文章