iOSで.xcodeproj/project.pbxproj ファイルを編集したときにエラーが起きた時の解決方法
背景
Gitでマージがコンフリクトすることはよくあります。
今回は xcodeproj/project.pbxproj がコンフリクトしたときに少し詰まったのでその解決方法を紹介。
起こったこと
Gitで xcodeproj/project.pbxprojに手作業で修正したとき次のようなエラーがでました。
<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つの場合、必ず先に書かれているか後に書かれているかの注意が必要そうです。