IOS - git слияния конфликтов после добавления cocoapods для проекта

Я работаю над приложением с другим партнером. Он работал над мастером, и я начал новый филиал. На моей ветке я установил cocoapods. Я просто попытался потянуться от мастера, и у меня возникли конфликты слияния.

Когда я открываю Xcode, файл рабочей области имеет ошибку, и он говорит:

"Workspace Integrity - Couldn't load project"

Как я могу решить этот конфликт слияния?

Ответ 1

Когда git встречает конфликты слияния, он добавляет строки текста в конфликтующие файлы. У них такие комментарии, как:

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

Эти строки отмечают, где git нужна помощь. Когда Xcode запускается в одну из этих строк в файле .pbxproj, он не может открыть файл и выдает ошибку Workspace Inconsistency.

Если вы просматриваете сообщения, полученные из git, они показывают, какие файлы имели конфликты слияния.

Чтобы устранить проблему:

  • Откройте каждый из этих файлов с помощью простого текстового редактора (я старая школа, поэтому я использую vi. Nano также будет работать. Просто убедитесь, что вы используете редактор кода, а не текстовый редактор, такой как TextEdit, который будет пытаться для изменения окончаний строки и т.д.)

  • Устраните конфликты, удалив строки комментариев, добавленные git, и решите, какие строки кода сохранить.

  • Затем скажите git, что вы разрешили конфликты: git добавить.

  • и продолжить слияние.

Теперь Xcode сможет открыть ваш проект.

Ответ 2

Вот мои 2 цента.

Иногда даже после удаления всех >>>> и ===== по-прежнему возникают те же ошибки.

  • Очистите проект,
  • Запустите pod install
  • Постройте проект

Это должно устранить остальные проблемы.

Ответ 3

Просто перезагрузите Xcode, и он должен построить тонкий

Ответ 4

Возможно, ваш проект .pbxproj уничтожен. если вы изменили проект project.pbxproj, вы должны проверить свой проект .pbxproj тщательно с помощью your.xcodeproj → show Содержимое пакета → project.pbxproj

Ответ 5

Еще один способ разрешить конфликты, когда вы не можете получить доступ к файлам рабочей области, это нажать + + c и должен увидеть каждый отдельный конфликт, который приводит к ошибке "Workspace Integrity - Couldn't load project".

Если вы не уверены, что не так со стручками или Карфагеном; Вы можете щелкнуть правой кнопкой мыши на стручок/Карфаген и discard changes. Позже вы можете обновить эти пакеты вручную.

Ответ 6

Скорее всего, у вас есть проблема с файлом project.pbxproj, который находится внутри вашего ProjectName.xcodeproj (щелкните правой кнопкой мыши, чтобы показать содержимое пакета).

Вы можете прочитать в github о схожей проблеме, а также найти решение "lint", которое вы можете попробовать.

Я думаю, что более быстрое решение - переместить HEAD "назад" в git над каждым коммитом до тех пор, пока файл проекта не заработает, и как только он заработает, переместите коммит HEAD 1 "вперед" и увидите изменения в project.pbxproj, вы вероятно, будут отсутствующие закрывающие/открывающие скобки или пропущенная точка с запятой.

Теперь, когда вы знаете, чего не хватает, перейдите к последнему коммиту и вручную исправьте файл project.pbxproj с помощью простого средства просмотра текста.

Удачи.