Xcode“无法解析Info.plist的内容”

时间:2013-10-28 18:12:31

标签: xcode compiler-errors plist

我刚用xCode打砖墙,不想解析我的Info.plist文件。我已经用我之前备份的文件的旧版本(相同版本)多次替换了该文件,但我仍然遇到同样的错误。

以下是完整的错误消息:

couldn't parse contents of '/Users/...Info.plist': The data couldn’t be read because it isn’t in the correct format.

我对这一点毫无头绪。我正在使用xCode 5.0.1,Mavericks

8 个答案:

答案 0 :(得分:62)

这是检测错误发生在哪一行的最佳方法之一。

只需转到plist文件所在的目录,然后在terminal->

上写下此命令
plutil filename.plist

答案 1 :(得分:14)

此问题的另一个原因可能是尝试在您的app-Info.plist中放置URL(实际上只是斜杠等)。

只需在项目构建设置中提升-traditional选项中的Info.plist Other Preprocessor Flags标记即可绕过它。

enter image description here

答案 2 :(得分:4)

我认为你已经使用了源代码控制工具,你可以使用没有Xcode的基本文本编辑工具来打开这个plist,命令+ F来查找"<<<<<<<&#34 ;或者">>>>>",然后您可能会找到错误字符串,例如:

<<<<<<< .mine

>>>>>>> .r605

选择正确的字符串,并删除另一个字符串,错误就解决了!

答案 3 :(得分:2)

看起来像用备份替换文件,然后在Organizer中删除项目的派生数据就是治愈方法。希望这可以帮助别人以后。

答案 4 :(得分:2)

当git merge引发冲突时,我个人破坏了该文件。 .plist是一个XML文件,并添加了git冲突&lt;&lt;&lt;&lt;和&gt;&gt;&gt;&gt;在那里标记差异。

在Finder中找到.plist文件(在您项目的一个文件夹中)。在文本编辑器中打开它,找到看起来不合适的XML的行,删除它们并确保删除重复的XML行/节点(由于git记录的前后更改)。

答案 5 :(得分:1)

为iOS构建时,只要“默认方向”设置为“自动旋转”,Info.plist就可能会损坏。 Info.plist文件在第一次构建时正确创建,但后续构建会导致...

<key>UIInterfaceOrientation</key>
<string></string>
</string>

......此时Xcode无法构建项目。

答案 6 :(得分:0)

我遇到了同样的错误,并意识到问题是我在我的Info.plist中有一个URL(例如http://example.com/something)作为值,我只是为它开启了预处理(没有-traditional标志)。显然Xcode会将//视为注释标记,并省略其余部分。

我找到的解决方案是接受预处理器,如下所示: http:/${}/example.com/something,它通过在中间放置一个空字符串变电站来分解//,因此它看起来不像是对Xcode的评论,但在预处理后它又回到了一般网址。

答案 7 :(得分:0)

这也可能是由于您已将Info.plist文件移动到新文件夹或从文件夹中删除(基本上是在路径更改的情况下)而导致的。

转到“构建设置”,然后搜索“ Info.plist文件”。编辑值。例如,如果您已将plist文件从主文件夹移至名为Resources的子文件夹,则必须进行以下更改:

之前:

TargetName/Info.plist

之后:

TargetName/Resources/Info.plist