【Xcode】DerivedDataとは?「Build Failed」の解決方法!
この記事からわかること
- XcodeのDerivedData(中間データ)とは?
- Derived Dataの削除方法と注意点
- Build Failedの解決方法
index
[open]
\ アプリをリリースしました /
友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-
posted withアプリーチ
Build Failedの解決方法
Xcodeで設定などをいじってしまい「Build Failed
」といったエラーが発生してしまった際の原因特定はなかなか難しいですが、「DerivedDataフォルダ」を削除することで解決することがあります。
DerivedData(ディライブドデータ)とは?
XcodeのDerivedData(ディライブドデータ)とはビルド時に自動で生成される、ログやキャッシュ、インデックスなどが格納されたフォルダのことです。中間データとも呼ばれ、プロジェクトごとのフォルダにまとまり蓄積されていきます。
保存場所は変更可能ですがデフォルトでは~/Library/Developer/Xcode/DerivedData
の中に保存されます。Xcodeから簡単にアクセスできるようになっており、上部メニューの「File」>「Workspace Settings...」の中にパスが記載されています。
パス右横にある矢印をクリックするとFinderが開き表示されます。
削除方法
DerivedDataフォルダ内のプロジェクトキャッシュを削除するには上部メニューの「Product」>「Clean Build Folder」をクリックすればOKです。これで蓄積されていた中間データの一部を削除してくれます。
DerivedDataフォルダごと削除する
DerivedDataフォルダはビルド時に自動で生成されるのでまるまる削除しても影響はありません。
「Clean Build Folder」でも解決しない場合はFinderなどから手動でDerivedDataフォルダごと削除しても問題ありません。
中にはプロジェクトごとのフォルダだけでなくモジュールなどのキャッシュもありますが、次回ビルド時にまたDerivedDataフォルダごと生成されます。
削除方法は通常のフォルダなどと同様に手動でゴミ箱に入れるか、ターミナルなどから削除コマンドを実行すればOKです。以下のコマンドはDerivedDataフォルダは残しつつ中身だけを空にするコマンドです。
$ rm -rf ~/Library/Developer/Xcode/DerivedData/*
Swift Package Managerを使用している場合
Swift Package Managerを使用してプロジェクトにパッケージを追加している場合はパッケージの実態ファイル群がDerivedDataフォルダ内に保存されます。DerivedDataフォルダを削除しても再度ビルドした時に自動で生成してくれるので問題はありません。しかしビルドには削除する前より時間を要するようになってしまうので注意してください。
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。