project.pbxproj がコンフリクトした!
チームでアプリを作ってるときに必須なのが Subversion とかのリビジョン管理ツール。結構、賢くできてて同じファイルを同時編集しても上手にマージしてくれるんだけど、たまにマージできないよーとなる。
最近、iOS アプリをチームで作り始めたんだけど、案の定コンフリクト発生。しかも、project.pbxproj ってシステムべったりな名前のファイルで ... (T^T)
コンフリクト箇所はこんな感じ。
ごちゃごちゃしたファイルでなんだかな〜と思ってたけど、よくよく眺めると 追加したライブラリとか、グループ名が見てとれる。どうやら、プロジェクトの構成管理ファイルっぽい。そんなファイルなら、簡単にコンフリクトも起こすわな。
今回の場合、コンフリクト位置が示されていて1行ずつ値がミスマッチってなってるけど、どうみても両ブロックを残すのが正解っぽい。
Xcode の比較画面は直接、編集もできるっぽいので、手作業で編集することにした。修正方法はこんな感じ。
- コンフリクト箇所を表示する。
- 右ペイン(サーバ側)からブロックを範囲選択&コピーし、左ペイン(ローカル側)のブロック下にペーストする。
- コンフリクト表示を1つずつ左優先にする。
- 右下にある「Update」を実行する。(コンフリクトがなくなると「Update」ボタンが押せる状態になる)
アップデート完了後、Xcode を再起動(おまじない)し、クリーンビルドして実行。アプリが起動できてほっと一安心。:-)
ペア作業している人にも取得してもらって、無事に動いた。あーよかった。
もっとも、今回の修正はたまたま上手くできたパターンかも...なので、こまめにアップデートやコミットをしてコンフリクトを起こさないようにすべきだね。:-)