なんとかするから、なんとかなる

エンジニア関係のことを書きます

iOSで.xcodeproj/project.pbxproj ファイルを編集したときにエラーが起きた時の解決方法

背景

Gitでマージがコンフリクトすることはよくあります。

今回は xcodeproj/project.pbxproj がコンフリクトしたときに少し詰まったのでその解決方法を紹介。

起こったこと

Gitで xcodeproj/project.pbxprojに手作業で修正したとき次のようなエラーがでました。

f:id:hopita:20180807211509p:plain

<unknown>: 0: error: filename "~~.swift" used twice: '~~.swift' and '~~.swift'
<unknown>: 0: note: filenames are used to distinguish private declarations with the same name

原因と解決方法

xcodeproj/project.pbxproj ファイルはプロジェクト内で扱っているファイルを管理しています。

このエラーが発生する原因は、xcodeproj/project.pbxproj ファイル内で同一のファイルが定義されていることです。

なので、xcodeproj/project.pbxproj ファイル内で同一名の"~~.swift"ファイルを削除していくと治りました。

ただし、2つの場合、必ず先に書かれているか後に書かれているかの注意が必要そうです。