当前位置:  开发笔记 > Android > 正文

无法打开项目...无法打开,因为无法解析项目文件

如何解决《无法打开项目无法打开,因为无法解析项目文件》经验,为你挑选了5个好方法。

我已经工作了一段时间来创建一个iPhone应用程序.今天当我的电池电量不足时,我正在工作并不断保存我的源文件然后电源耗尽......

现在,当我重新插入计算机并且功能强大时,我尝试打开我的项目文件并收到错误消息:

无法打开项目

Project ...无法打开,因为无法解析项目文件.

有没有人知道我可以从中恢复的方式?我尝试使用较旧的项目文件并重新插入然后编译.它给了我一个时髦的错误,可能是因为它没有找到它想要的所有文件...

如果可能的话,我真的不想从头开始重建我的项目.


编辑

好吧,我在这个和一个稍微更旧的项目文件之间做了一个差异工作,看到文件中有一些损坏.合并后(好的和最新的部分)它现在正在工作.

关于SVN的好点.我有一个,但有一些funkiness尝试同步XCode.我现在肯定会花更多的时间用它... ;-)

在此输入图像描述



1> Usuf..:

我遇到了这个问题,我的大四学生告诉我一个解决方案,即:

右键单击您的projectname.xcodeproj文件,这projectname将是您项目的名称.右键单击后选择Show Packages Contents.之后,projectname.pbxproj在文本编辑器中打开文件.现在搜索包含的行<<<<<<< .mine,=======>>>>>>> .r.例如在我的情况下它看起来很喜欢这个

<<<<<<< .mine
    9ADAAC6A15DCEF6A0019ACA8 .... in Resources */,
=======
    52FD7F3D15DCEAEF009E9322 ... in Resources */,
>>>>>>> .r269

现在删除这些<<<<<<< .mine,=======>>>>>>> .r线,使之看起来像这样

    9ADAAC6A15DCEF6A0019ACA8 /* BuyPriceBtn.png in Resources */,

    52FD7F3D15DCEAEF009E9322 /* discussionForm.zip in Resources */,

现在保存并打开您的Xcode项目并构建它.一切都会好起来的.


只是说为什么会发生这种情况:您的版本控制试图合并项目文件的两个冲突版本.您必须手动告诉您的版本控制适当的合并是什么.事实上XCode没有优雅地处理这个事实对我来说是一个巨大的烦恼.
谢谢.这有效.在我的情况下,它不是".mine"或".r"但是说了别的东西...... Ctrl-F为"==="找到了这个地方.

2> SnoopyProtoc..:

穆罕默德的回答非常有帮助(并帮助我解决了问题).但是,在保留两个分支的更改时,只需删除>>>>>>> ======= <<<<<<<还不足以修复project.pbxproj(对我来说)中的解析问题合并后.

我在项目.pbxproj文件中的PBXGroup部分(其开头由如下的块注释表示:/*Begin PBXGroup部分*/)中发生了合并冲突.但是,我遇到的问题也可能出现在project.pbxproj文件的其他位置.

下面是我遇到的合并冲突的简化:

    <<<<<<< HEAD
          id = {
            isa = PBXGroup;
            children = (
                 id
            );
            name = "Your Group Name";
    =======
          id = {
            isa = PBXGroup;
            children = (
                 id
            );
            name = "Your Group Name";
    >>>>>>> branch name
            sourceTree = "";
          };

当我删除合并冲突标记时,这就是我剩下的:

          id = {
            isa = PBXGroup;
            children = (
                 id
            );
            name = "Your Group Name";
          id = {
            isa = PBXGroup;
            children = (
                 id
            );
            name = "Your Group Name";
            sourceTree = "";
          };

通常,删除合并冲突标记会修复project.pbxproj文件中的解析问题并恢复工作区完整性.这次没有.

以下是我为解决问题所做的工作:

          id = {
            isa = PBXGroup;
            children = (
                 id
            );
            name = "Your Group Name";
            sourceTree = "";
          };

          id = {
            isa = PBXGroup;
            children = (
                 id
            );
            name = "Your Group Name";
            sourceTree = "";
          };

我实际上必须在第一个PBXGroup的末尾添加2行.

您可以看到,如果我选择放弃Head或合并分支中的更改,则不会出现解析问题!但是,在我的情况下,我想保留我从每个分支添加的两个组,只是删除合并标记是不够的; 我必须在project.pbxproj文件中添加额外的行以保持正确的格式.

因此,如果您在考虑解决所有合并冲突之后遇到解析问题,您可能需要仔细查看.pbxproj并确保没有任何格式问题!



3> bwags..:

我得到了完全相同的错误,因为Cordova将允许您创建一个包含空格的项目,而Xcode不知道如何处理.



4> Jayprakash D..:

我有类似的问题.

截图1

以下是解决它的步骤:

    导航到您的文件夹projectName.xcodeproj.

    截图2

    右键单击并选择" Show Package Contents".您将能够看到带.pbxproj扩展名的文件列表.

    截图3

    选择project.pbxproj.右键单击并使用' Text Edit' 打开此文件.

    截图4

    你将能够看到<<<<<< .mine,============>>>>>>>>>> .r123.这些通常是您从SVN获取更新时出现的冲突.删除这些并保存文件.

    截图5

    截图6

    现在,您将能够在没有任何错误消息的情况下打开项目.



5> Oleksiy Ivan..:

Xcode项目文件的可视化分析并没有帮助我在合并后找到错误.在Xcode尝试解析文件时查找syslog发现这样的行:

2/7/14 12:39:12.792 PM Xcode[9949]: CFPropertyListCreateFromXMLData(): Old-style plist parser: missing semicolon in dictionary on line 4426. Parsing will be abandoned. Break on _CFPropertyListMissingSemicolon to debug.

修好后该项目可以打开好了.


只是尝试从终端构建它,如xcodebuild -project Project.xcodeproj build.您将在终端中看到错误.
谢谢,你救了我的一天:)
这极大地帮助了我.我只是"tail -f /var/log/system.log"并尝试打开该项目.在system.log中,它显示一个错误(搜索"Xcode"),它显示了发生解析异常的行号.然后我在vi中打开文件,在文件中看到一个控制字符(^ H),然后删除了那个单个字符,瞧!它能够被打开.
推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有