web-dev-qa-db-ja.com

iOS-プロジェクトにココアポッドを追加した後のgitマージの競合

他のパートナーとアプリを開発しています。彼はマスターに取り組んでいて、私は新しいブランチを始めました。私のブランチにはcocoapodsをインストールしました。マスターからプルしようとしたところ、マージの競合が発生しています。

Xcodeを開くと、ワークスペースファイルにエラーが発生し、次のように表示されます。

"Workspace Integrity - Couldn't load project"

このマージの競合を解決するにはどうすればよいですか?

15
user3344977

Gitがマージの競合に遭遇すると、競合するファイルにテキスト行を追加します。彼らは次のようなコメントです:

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

これらの行は、Gitが助けを必要とする場所を示しています。 Xcodeが.pbxprojファイルのこれらの行の1つに実行されると、ファイルを開くことができず、Workspace Inconsistencyエラーがスローされます。

Gitから受け取ったメッセージを見ると、マージの競合があったファイルが表示されます。

問題を解決するには:

  1. これらの各ファイルをシンプルなテキストエディターで開きます(私は昔からviを使用しています。Nanoも機能します。行末を変更しようとするTextEditのようなワードプロセッサーではなく、コードエディターを使用してください。など)

  2. Gitによって追加されたコメント行を削除し、保持するコード行を決定することにより、競合を解決します。

  3. 次に、競合を解決したことをgitに伝えます:git add。

  4. マージを続行します。

Xcodeがプロジェクトを開くことができるようになります。

25
Suz

これが私の2セントです。

>>>>=====をすべて削除した後でも、同じエラーが発生することがあります。

  • プロジェクトをきれいにし、
  • pod installを実行します
  • プロジェクトをビルドする

これで残りの問題が修正されます。

4
Mr H

Xcodeを再起動するだけで問題なくビルドされます

1
Ali

ワークスペースファイルにアクセスできない場合の競合を解決するもう1つの方法は、 + + cを押すことであり、エラー"Workspace Integrity - Couldn't load project".につながるすべての競合を確認する必要があります

ポッドまたはカーセージの何が問題なのかわからない場合。ポッド/ Carthageおよびdiscard changesを右クリックできます。後でそれらのポッドを手動で更新できます。

0
Sanket Ray

project.pbxproj内のProjectName.xcodeprojファイルに問題がある可能性が最も高いです(パッケージのコンテンツを右クリックして表示)。

同様の問題について githubで を読むことができます 試せる の「lint」ソリューションもあります。

より速い解決策は、プロジェクトファイルが機能するまでgitでHEADを「逆方向」に移動して、プロジェクトファイルが機能するようになったら、HEAD 1コミットを「前方」に移動して変更を確認することですproject.pbxprojでは、おそらく閉じ括弧/開き括弧が欠落しているか、セミコロンが欠落しています。

何が欠けているかがわかったので、最新のコミットに移動し、シンプルなテキストビューアを使用してproject.pbxprojファイルを手動で修正します。

幸運を。

0
OhadM

多分あなたのproject.pbxprojが破壊されています。 project.pbxprojを変更する場合は、your.xcodeproj-> show Package contents-> project.pbxprojでproject.pbxprojを慎重に確認する必要があります。

0
WDC