ブランチをマージしようとしたところ、「プロジェクトを開けません...プロジェクトファイルを解析できないため開くことができません」というエラーが発生しました。次に、他のstackoverflow応答(つまり、ファイルを編集して破損を削除する)のアドバイスを受けようとしましたが、ファイルを編集できませんでした。これは実際にはディレクトリであると思われるので、おそらくこれの構造がバージョン4.4のxcodeで変更されたため、 プロジェクトを開くことができません...プロジェクトファイルを解析できないため、開けません 書かれた。
次に、タイムマシンのバックアップからmyProject.xcodeprojを復元しようとしました。 myProject.xcodeprojにアクセスする権限がないと表示されているため、これは機能しません。そのディレクトリの権限を変更しようとしましたが、それは役に立ちませんでした。
Xcodeを閉じて再度開きました。今のエラーは:
project ... xcodeprojには、project.pbxprojファイルがないため、開くことができません。
Xcodeバージョン4.4でこの問題を修正するにはどうすればよいですか? xcodeの以前のスナップショット、アーカイブ、またはバージョンから復元できますか?タイムマシンで復元できますか?プロジェクト全体の再構築は避けたいです。
結局、私がしなければならなかったことは
'cp -R ...TimeMachineBackup/myProject.xcodeproj ...myProjectArea/myProject.xcodeproj'
次に、myProjectAreaで以下を実行する必要がありました。
git reset --merge
これにより、プロジェクトを開いてブランチをメインのブランチに戻すことができました。
楽しい経験ではない
最も簡単なことは、おそらく
今後、プロジェクトファイルで競合が発生した場合は、myProject.xcodeproj/project.pbxprojを確認してください。多くの場合、同じ場所に追加されたのはプロジェクトの新しいファイルだけです。この場合、競合するメタデータを削除して、競合する状態を解決するだけです。
私はこのようなコマンドラインのスタッフなしでこれを機能させることができました:
これで動作するはずです。
この問題を検討している他の人にとって、私のケースの原因は、gitマージからの「競合テキスト」が実際のファイルに忍び込んでいることがわかった:
<<<<<<< HEAD
F0FDA2D61B99EB80007DB99D /* Aptron-mCollegix.xcassets */,
=======
F08CFAAA1BC1E9EE00A5B6F5 /* Aptron-mCollegix.xcassets */,
>>>>>>> hotfix/Column_Text_Cut-off
project.pbxprojをテキストエディターで開くと、修正が簡単になりました。
これが発生する別の方法は、ポッドまたはエディターで何らかの理由でSudoを使用していた場合-ファイルがyourApp.xcodeprojectrojディレクトリの下に存在するが、xcodeがそれを見つけられないと不平を言っている場合-プロジェクトのルートに移動して、次の操作を行います。
Sudo chown -R yourusername:staff ./*
この問題に対する独自の解決策を見つけました。
バグの原因は、.xcodeprojファイルに含まれているpbxprojファイルが欠落していることです。これは通常、.xcodeprojファイルを右クリックして[パッケージの内容を表示]をクリックすると表示されます。しかし、あなた自身のケースでは、それはいくつかのミスや他のgitバージョン管理によって削除されています。
実際には.pbxprojファイルを生成できないため、私が見つけた解決策は、リポジトリの作成に使用していた元のプロジェクトフォルダーの場所に移動することでした。正直に言うと、同じバンドル識別子などを持っている限り、新しいプロジェクトを作成することもできます。このプロジェクトのxcodeprojファイルには.pbxprojファイルが正しく含まれるため、XCode環境のファイルを独自のプロジェクトのファイルに置き換えると、これらのファイルに基づいて.pbxprojファイルを更新できます。
したがって、この元のプロジェクトフォルダー(/ newプロジェクトフォルダー)を開いた後、XCode環境で、プロジェクト内のすべてのファイルを削除し、それらのプロジェクトの対応するファイルで置き換えることができました。 。たくさんの新しいファイルをコピーしただけで、ビルドフェーズに関連するものなど、発生しないいくつかのバグをあちこちで修正する必要がありました。しかし、いくつかの小さなエラーを修正した後、この新しい場所にある同じプロジェクトは最終的に問題なく実行できました!
最後に、私はこの正常に実行されているバージョンのプロジェクトを取得し、すべてのファイル、.xcodeprojファイル、プロジェクトフォルダー、テストファイルなどすべてを元のリポジトリーの場所にコピーしました。ファイル(安全にしたい場合は、古いリポジトリファイルを新しい場所にカットアンドペーストできます。削除したくない場合は削除してください!)次に、リポジトリーの場所からXCodeでプロジェクトを開き、それをビルドしてシミュレーター/デバイスで実行して、すべてが揃うようにし(そして必要に応じて小さなバグを修正して)確認します。これでプロジェクトをコミット、プッシュ、実行できるようになりました。
これは最もクリーンなソリューションではありません。ブランチがすべて破損している場合は、さまざまなブランチ間で同様のことを行う必要がある場合があります。ただし、Macタイムマシンにアクセスできず、他のソリューションが機能しない場合は、これが.pbxprojファイルを再び機能させる最も簡単な方法です。
ああ、私は.pbxprojをgitignoreから削除しました。実際にそれがあなたのgitignoreにあるかどうかはわかりませんが、私はその主題についてあなた自身の研究をすることをお勧めします、私自身は確信がありません!
幸運を!
不足しているproject.pbxprojファイルを見つけたい場合は、コードエディターで.xcodeprojを開いてみてください。そこにファイルが見つかります。そして、私は私のアプリケーションを他のPCにバックアップしていたので、そのファイルをそこに見つけたので、これが機能するために、どこかでプロジェクトのバックアップを作成できます。