19

I'm working on an app with another partner. He's been working on master, and I started a new branch. On my branch I installed cocoapods. I just tried pulling from master and I'm getting merge conflicts.

When I open up Xcode, the workspace file has an error and it says:

"Workspace Integrity - Couldn't load project"

How can I solve this merge conflict?

user3344977
  • 3,584
  • 4
  • 32
  • 88

5 Answers5

31

When git encounters merge conflicts, it adds lines of text to the conflicting files. They're comments like:

<<<<< HEAD
  ... your code from HEAD...
=========
  ... your code from the merge branch...
>>>>>> my_merged_branch_name

These lines mark where Git needs help. When Xcode runs into one of these lines in a .pbxproj file, it is unable to open the file and it throws an Workspace Inconsistency error.

If you look at the messages you got from git, they show which files had the merge conflicts.

To fix the problem:

  1. Open each of those file with a simple text editor (I'm old school, so I use vi. Nano will also work. Just make sure you use a code editor and not word processor like TextEdit that will try to change your line endings, etc. )

  2. Resolve the conflicts by removing the comment lines added by git, and deciding which lines of code to keep.

  3. Then tell git that you have resolved the conflicts: git add .

  4. and continue with the merge.

Xcode should now be able to open your project.

Suz
  • 3,744
  • 3
  • 23
  • 26
  • How can we look at the messages we got from git? You told like that, but I can't find. Glad if you can help. – Kutay Demireren Jul 12 '15 at 16:50
  • 3
    Ah. Hmm. I use Git from the command line, so it prints a message when there's a merge conflict. However, the text `>>>>` and `=====` are not messages. Git actually **adds those lines to your code**. To fix the conflict, you have to remove those lines (and adjust your code if you need to). When those lines are added to a `.pbxproj` file, Xcode gives the error in the question title. Just open up the .pbxproj file and search for >>>>. – Suz Jul 13 '15 at 20:34
  • Yeah okay, I mean, I was looking for a list of conflicting files. I explicitly each my file because I couldn't get that list, including pbxproj too. Anyway, thanks, you made it work – Kutay Demireren Jul 14 '15 at 12:26
9

Here is my 2 Cents.

Sometimes even after deleting all of the >>>> and ===== still you get the same errors.

  • Clean the project,
  • Run the pod install
  • Build the project

This should fix the remaining issues.

Mr H
  • 5,254
  • 3
  • 38
  • 43
0

Maybe your project.pbxproj is destoryed. if you changed your project.pbxproj,you should check your project.pbxproj carefully by your.xcodeproj -->show Package contents -->project.pbxproj

WDC
  • 1
  • 1
  • I meet the same issue because i deleted a more semicolon when i fix merge conflict. – WDC Dec 21 '16 at 07:35
0

One more way to resolve conflicts, when you cannot access workspace files is to press + + c and should see every single conflict which leads to the error "Workspace Integrity - Couldn't load project".

If you are not sure what's wrong with pods or Carthage; you can right-click on pod/Carthage and discard changes. You can later update those pods manually.

Sanket Ray
  • 1,071
  • 1
  • 15
  • 24
0

Most chances you have an issue with the project.pbxproj file which is inside your ProjectName.xcodeproj (right click show package content).

You can read up in github about a similar issue and there's also a "lint" solution you can try.

I think a faster solution would be moving the HEAD "backwards" in git over each commit until your project file works and once it works, move the HEAD 1 commit "forward" and see the changes in project.pbxproj, you will probably see missing closing/opening brackets or perhaps missing semicolon.

Now, that you know what is missing, go to the latest commit and manually fix your project.pbxproj file using a simple text viewer.

Good luck.

OhadM
  • 4,687
  • 1
  • 47
  • 57