前提
前提条件として、以下の実行環境での動作を確認しています。
- Apple M1
- macOS Monterey バージョン 12.0.1
- Xcode Version 13.4.1
以前のバージョンや新しいバージョンでも動作するかは未検証です。
シェルスクリプト
以下のスクリプトを実行すると不要なディレクトリ・ファイルが削除されます。
筆者の環境では数十GBのディスク容量を空けることができました。
# DerivedData
# 中間生成ファイル。アプリ単位でビルド時に作成され
# ビルドが突然できなくなった場合などこれを消すと解消する場合がある。
# 削除すると次回のビルドが実質クリーンビルドになる。
rm -rf ~/Library/Developer/Xcode/DerivedData/*
# iOS DeviceSupport
# Xcode が iOS 実機端末との接続を認識したタイミングで作成される。
# iOS バージョンをアップデートする度に新しいディレクリが増えていく。
# 全削除して問題なし。
rm -rf ~/Library/Developer/Xcode/iOS\ DeviceSupport/*
# watchOS DeviceSupport
# watchOS 用。
# Xcode が Apple Watch とペアリングした iPhone との接続を認識したタイミングで作成される。
# watchOS バージョンをアップデートする度に新しいディレクリが増えていく。
rm -rf ~/Library/Developer/Xcode/watchOS\ DeviceSupport/*
# Archives
# ipa 作成時に作成される。
rm -rf ~/Library/Developer/Xcode/Archives/*
# CoreSimulator
# シミュレータのキャッシュ
rm -rf ~/Library/Developer/CoreSimulator/Caches/dyld/*
# この中の== Devices ==にUnavailableとなっているものがあれば使えなくなった過去のデバイスイメージなので削除してOK。
# 個別に削除するのは面倒なので、一括で削除できるコマンドがあるのでそれを使用する。
xcrun simctl delete unavailable