无法打开文件InfoPlist.strings

And*_*kha 9 iphone xcode

谁能帮帮我吗?我该怎么做才能修复错误"文件InfoPlist.strings因为没有这样的文件而无法打开"?它是在我从SVN更新我的项目后出现的.实际上我的项目中有InfoPlist.strings,我不知道为什么Xcode没有看到它.

也许以下信息将帮助您了解正在发生的事情:当我通过单击旁边的三角形展开InfoPlist.strings时,它会显示:InfoPlist.strings(英文),InfoPlist.strings(德语),InfoPlist.strings(法国).英语是黑色的,但法语和德语是红色的,所以我认为它们可能有问题,这可能是错误的原因.此外,我有Localizable.strings,其行为方式类似.它有(扩展时)Localizable.strings(英文),Localizable.strings(德语),Localizable.strings(法语),就像在InfoPlist.strings中一样,英语是黑色,而法语和德语是红色.

当我查看项目的文件夹时 - 其中有以下内容:名为en.lproj的文件夹包含Localizable.strings和InfoPlist.strings.名为fr.lproj和de.lproj的文件夹包含相同的文件 - Localizable.strings和InfoPlist.strings.好像我已经描述了一切.请解释我该怎么做.我使用Xcode 4.2

Mut*_*tix 10

我刚刚设法解决了这个问题!

我的第二个Strings.plist文件(FR)有一个绝对路径.路径类型(绝对,相对)的下拉菜单在xcode的信息窗格中显示为灰色,因此我无法将其更改为相对路径.

解决方案是在project.pbxproj文件中手动更改它:

如果您打开文件以查看源,并搜索"plist",请找到以下行:

/* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = /Users/[YOUR-USER]/[PATH_TO_PROJECT]/fr.lproj/InfoPlist.strings; sourceTree = "<absolute>"; };
Run Code Online (Sandbox Code Playgroud)

请注意,该path属性是文件的完整路径,并且该sourceTree属性设置为<absolute>.

现在改变它path以使它相对:

/Users/[YOUR-USER]/[PATH_TO_PROJECT]/fr.lproj/InfoPlist.strings
Run Code Online (Sandbox Code Playgroud)

应该成为

fr.lproj/InfoPlist.strings
Run Code Online (Sandbox Code Playgroud)

同时将sourceTree值更改<absolute><group>

该行现在应该如下所示:

/* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = "<group>"; };
Run Code Online (Sandbox Code Playgroud)

对所有使用绝对路径的本地化重复这些步骤.

保存文件,提交更改,然后瞧!没有更多没有这样的文件问题:)


joe*_*ick 0

Info.plist 文件的路径在目标的构建设置中定义。看看它设置了什么。如果项目来自不同的机器,它可能是绝对路径,但它实际上应该是相对于项目根目录的路径,例如Sources/Info.plist.