概要
Xcodeでビルド中していたところXcodeがクラッシュし、以降プロジェクトを立ち上げても直ぐにクラッシュしてしまい編集、ビルドができなくなってしまったため修復にあたっていくつか過去の参考事例があり試してみたのでその結果と解決策について備忘録兼ねてまとめておきます。
結論から言うと破損したファイルへのリンク情報がXcodeをアンインストールしても残り続けておりそれが悪さしておりました・・・というお話です。
基本的なXcodeの異常は確認内容1~5のどれかで解決すると思います。
検証した環境は以下の通りです。
動作環境
H/W:MacMini(2020 M1)
OS:MacOS Sonoma 14.5
Xcode : 14.5
エラー内容
エラー内容ですが新規プロジェクトを立ち上げようとしても一瞬立ち上がるものの直ぐにクラッシュし、ウィンドウが閉じてしまうといった感じでした。エラーログを見たところ原因はScenekit系のレンダリング周りでアクセスエラーが原因臭い感じでした。
Crashed Thread: Dispatch queue:
com.apple.scenekit.renderingQueue.SKESceneView0x3207c9700
ExeptionType: EXC_BAD_ACCESS(SIGSEGV)
ExeptionCodes: KERN_INVALID_ADDRESS
確認内容
Scenekitのレンダリング系で落ちているのでクラッシュする前に開いていた3Dモデルデータの一時ファイルが何か悪さしているのか?と思いTeratailや海外サイトにいくつかXcodeがクラッシュし立ち上がらなくなった際の対応方法を確認したところいくつか解決策があったので以下の1~5をまず確認してみました。
- Xcodeの再インストール
→Xcodeを削除後、AppStore経由で再インストールを試みたものの症状に変化なし - xcrun --kill-cache
→症状に変化なし - xcodebuild -alltarget clean
→症状に変化なし - /Library/Developer/Xcode/DerivedDataを削除
そもそも↑のディレクトリに該当するフォルダがない・・・と思ったらM1Macの場合、/user/${USER_NAME}/Library/Developer/DerivedDataにフォルダが生成されてました。なんじゃそりゃ・・・。で、削除してみたところ症状に変化なし。
と大体調べて出てくる1~5を試しても症状が直らないので藁にも縋る気持ちで過去のプロジェクト等の展開情報を管理しているファイルが無いか探したところ・・・ありました!
/user/${USER_NAME}/Library/Autosave infomation/com.apple.dt.Xcode.plits
なるここ最近開いたプロジェクトのリンク?等を一時ファイルとして保存している上記のファイルがありこのファイルを削除することで(私はファイルそのものを削除しましたがファイル削除せずとも中の原因のファイルに関する記述を消すだけでいいと思います)で無事Xcodeが立ち上がるようになりました。
有難迷惑素敵な機能のおかげでXcodeをアンインストールしようが何しようが残り続けているので気づくまでに遅れてしまいました・・・。
もしXcodeが何してもクラッシュして立がらない&クラッシュログの内容がファイル破損等でなければ是非最後の手段として試してみてください。