LoginSignup
0
1

cannot be opened because it is missing its project.pbxproj file.の解決法

Last updated at Posted at 2023-09-19

概要

以下のような/~~.xcodeproj cannot be opened because it is missing its project.pbxproj file.というエラーが表示された時の対処法です。
スクリーンショット 2023-09-18 15.54.01.png

検索するとこのエラーについてのissueやstackoverflowでの質問がいくつか見つかりましたが解決していないままであったり自分で試してもうまくいかなかったりと、プロジェクトが開けなくなりとてもとても焦りました。
git reflogを使って動かなくる前のコミットに戻してみるというのを試しましたが、特に解決しませんでした。

エラーの意味

/~~.xcodeprojがパッケージ内に本来含んでいるはずのproject.pbxprojが無くなっているのでプロジェクトを開けません。」という意味です。
何かの拍子にproject.pbxprojが消えてしまったか、データが壊れてしまったことが原因だと考えられます。

結論

バックアップをとっておきましょう

project.pbxprojは既存のプロジェクトに対して新規で作成することができません。
新しくXcodeのプロジェクトを作成してproject.pbxprojをコピペするか、バックアップされている該当プロジェクトファイルのproject.pbxprojをコピペすることで動くようになります。

プロジェクトが開けなくなる前のファイルが残っていれば、そちらを使うのがベストです。
project.pbxprojにはアプリの環境設定がたくさん含まれており、これを手動で復元するのはほぼ無理だと思われます。。

手順

該当プロジェクトを開けた時のファイル(バックアップ)が残っている場合

  1. 開けた時のプロジェクトファイルをFinderで開き、~~.xcodeprojを右クリックしてパッケージの内容を表示をクリック
  2. project.pbxprojをコピー
  3. 開けなくなった方のプロジェクトファイルをFinderで開き、~~.xcodeprojを右クリックしてパッケージの内容を表示をクリック
  4. 2でコピーしたproject.pbxprojをペースト

バックアップが残っていない場合

  1. 新規Xcodeプロジェクトを作成します(開きたい元々のプロジェクトのProductNameやbundleを思い出して作ります)
  2. 新規作成したプロジェクトファイルをFinderで開き、~~.xcodeprojを右クリックしてパッケージの内容を表示をクリック
  3. project.pbxprojをコピー
  4. 開けなくなった方のプロジェクトファイルをFinderで開き、~~.xcodeprojを右クリックしてパッケージの内容を表示をクリック
  5. 3でコピーしたproject.pbxprojをペースト
  6. 開けなくなった方のファイルが開けるようになりますが、Deployment Targetなどのプロジェクトに関する環境設定が初期設定になっているので思い出して修正する必要があります

この手順で開けるようになります!
Swift Package Managerを使用しているとアップデートをする必要があったり、その他エラーが出るかもしれませんがとにかく開けるようになるので安心です🎉

備考

gitでブランチを切り替えたりpullしたり色々動かしていたら突然このようなエラーが表示されXcodeのプロジェクトが開けなくなったので、git関連、ローカルでのコンフリクトなどが原因になっている可能性があると考えています。

おわりに

GitHubにリポジトリを置いているとはいえ、ローカルのバックアップは大事だと痛感しました。Gitをもう少しちゃんと勉強したいと思います。
お読みいただき、ありがとうございました。お役に立てましたら幸いです。

参考

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1