谁能帮帮我吗?我应该如何修复错误“无法打开文件 InfoPlist.strings,因为没有这样的文件”?它是在我从 SVN 更新我的项目后出现的。实际上我的项目中有 InfoPlist.strings,我不知道为什么 Xcode 没有看到它。
也许以下信息将帮助您了解发生了什么:当我通过单击旁边的三角形展开 InfoPlist.strings 时,它会显示:InfoPlist.strings(英语)、InfoPlist.strings(德语)、InfoPlist.strings(法语)。英语是黑色的,但法语和德语是红色的,所以我认为它们可能有问题,这可能是错误的原因。另外,我还有 Localized.strings,其行为方式类似。它有(展开时)Localized.strings(英语)、Localized.strings(德语)、Localized.strings(法语),就像 InfoPlist.strings 中一样,英语是黑色的,而法语和德语是红色的。
当我查看项目文件夹内部时,其中有以下内容:名为 en.lproj 的文件夹包含 Localized.strings 和 InfoPlist.strings。名为 fr.lproj 和 de.lproj 的文件夹包含相同的内容 - Localized.strings 和 InfoPlist.strings。好像我已经描述了一切。请解释一下我该怎么做。我使用 Xcode 4.2
我刚刚设法解决了这个问题!
我的第二个 Strings.plist 文件(FR)有一个绝对路径。路径类型(绝对、相对)的下拉菜单在 xcode 的信息窗格中显示为灰色,因此我无法将其更改为相对路径。
解决办法是手动修改project.pbxproj
file:
如果您打开文件查看源代码,并搜索“plist”,找到以下行:
/* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = /Users/[YOUR-USER]/[PATH_TO_PROJECT]/fr.lproj/InfoPlist.strings; sourceTree = "<absolute>"; };
请注意,path
属性是文件的完整路径,并且sourceTree
属性设置为<absolute>
.
现在改变path
所以它是相对的:
/Users/[YOUR-USER]/[PATH_TO_PROJECT]/fr.lproj/InfoPlist.strings
应该成为
fr.lproj/InfoPlist.strings
还要更改sourceTree
价值来自<absolute>
to <group>
该行现在应如下所示:
/* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = "<group>"; };
对所有使用绝对路径的本地化重复这些步骤。
保存文件,提交更改,然后voilà!不再没有这样的文件问题 :)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)