谁能帮帮我吗?我该怎么做才能修复错误"文件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)
对所有使用绝对路径的本地化重复这些步骤.
保存文件,提交更改,然后瞧!没有更多没有这样的文件问题:)
Info.plist 文件的路径在目标的构建设置中定义。看看它设置了什么。如果项目来自不同的机器,它可能是绝对路径,但它实际上应该是相对于项目根目录的路径,例如Sources/Info.plist.
| 归档时间: |
|
| 查看次数: |
11956 次 |
| 最近记录: |