こんな問題がながらく放置されているとは思えないので、自分の環境だけかもしれませんが、困っている人がいるかもしれないので、メモを公開します。
ひとことで言うと
VSCodeのFlutter Extensionをインストールすると、Xcodeでビルドができなくなることがあります。
環境
Xcode 16.x
VSCode 1.98.2
VSCode Flutter Extension 3.106.0
VSCode Dart Extension 3.106.0
現象
Dart拡張機能は、Xcodeのビルド時に使用される ~/Library/Developer/Xcode/DerivedData/ 内の
- ModuleCache.noindex
- SDKStatCaches.noindex
を削除してしまいます。(環境によっては削除されない。原因は不明)
これらの削除は常に実行されるため、Xcodeがビルドのために、それらのディレクトリやファイルを生成しても、即座に削除されてしまいます。
結果
そのため、この拡張機能が有効な状態では、Xcodeによるビルドが正常に行えません。
stat cache file '~/Library/Developer/Xcode/DerivedData/SDKStatCaches.noindex/iphonesimulator18.1-22B74-xxxxx.sdkstatcache' not found
対策
現時点での対処法としては、
- Xcode側で Library/Developer/Xcode/DerivedData のパスを変更する
- Dart Extensionを一時無効にする
- VCCodeを落とす
ということしかなさそうです。
DerivedData のパスを変更する
Xcodeメニュー → Settings... → Locations → Derived Data を Relative に変更
弊害
そもそもこの対応を知らないと、ビルドができなくなって、何時間も時間を浪費してしまいます。
(私は原因が分からず、macを clean インストールして時間を浪費しました)
また、DerivedDataをRelativeに作成すると、プロジェクト内に巨大なサイズのデータが作成されてしまいます。
当然、 .gitignoreで除外していないといけません。