Xcode 13.3 で再ビルドすると「Cycle inside UnityFramework」と表示されてビルドできない問題


Xcode13.3でビルドできない問題

私の場合Unityで起こった問題なのだが、Unityに限らないと思われる。

Xcodeを13.3に上げた時から、以下のエラーでビルドできなくなってしまった。

Cycle inside UnityFramework; building could produce unreliable results. This usually can be resolved by moving the target's Headers build phase before Compile Sources.

Unityで「Build & Run」すると上記エラーで進めなくなってしまう。
ただし、まっさらな状態からビルド(Build->Replace)すれば、なぜかうまくいく。
ただ毎回クリーンビルドするのは時間がかるので、何とかしたい。

解決法

エラーメッセージをよく読めば、解決方法が書いてあった。

This usually can be resolved by moving the target's Headers build phase before Compile Sources.

つまり

「UnityFramework」 の 「Build Phase」 で「Compile Sources」の前に「Headers」を置けば大体の場合直る

ということ。

そういうわけで、以下のように順番を変えてみた。

これで正常にエラーが出ないで再ビルドが可能になった。

おそらく Xcode13.3 と Unity の現バージョンとの相性の問題だろうから、いずれ直るだろうと思われる。(2022/3/27時点)