任何人都可以帮助我吗?我该怎么做才能修复错误“文件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
答案 0 :(得分: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>"; };
请注意,path
属性是文件的完整路径,sourceTree
属性设置为<absolute>
。
现在更改path
以使其相对:
/Users/[YOUR-USER]/[PATH_TO_PROJECT]/fr.lproj/InfoPlist.strings
应该成为
fr.lproj/InfoPlist.strings
同时将sourceTree
值从<absolute>
更改为<group>
这条线现在应该是这样的:
/* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = "<group>"; };
对所有使用绝对路径的本地化重复这些步骤。
保存文件,提交更改, vo!不再没有此类文件问题:)
答案 1 :(得分:3)
info.plist源代码: 喜欢: .... {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj / InfoPlist.strings; sourceTree =“”; }; ....
检查“路径”是绝对路径?
答案 2 :(得分:1)
有同样的问题,对我来说很容易解决:在xcode中选择plist文件并确保其&#34; Target Membership&#34;是ON(对于您正在进行的构建)。
答案 3 :(得分:0)
Info.plist文件的路径在目标的构建设置中定义。看看它的设定。如果项目来自不同的机器,它可能是一个绝对路径,但它确实应该是相对于项目根目录的路径,如Sources/Info.plist
。
答案 4 :(得分:0)
最好的信息就在这里。很抱歉这是一个很俗气的链接到这个 - 但他们在9月编辑了 - 现在它是有道理的......
答案 5 :(得分:0)
我刚刚在它要求的路径中重新创建了它要求的文件(包含空内容),因为我是XCode的新手并且它似乎没有影响我当前的项目我认为这是一个可接受的解决方案/快捷方式继续。
答案 6 :(得分:0)
此特定错误实例的解决方案是“Info.plist无法打开,因为没有这样的文件”是因为我删除了“Project Tests”文件夹中的所有文件,但仍然有我的目标下列出了“项目测试”。删除“测试”目标后,项目成功构建。
答案 7 :(得分:0)
当我将我的队列改变到我的本地时,我得到了这个错误,以便我可以查看和测试它们。我检查了这个帖子中建议的所有设置,但它们看起来都是正确的。我的解决方法只是吹掉分支,重置为master并将更新拉到一个干净的分支。 ol&#39;重启一切技术。