Xcodeの容量問題を解決する方法:Derived DataとDevice Supportの削除ガイド

iOS開発を続けていると、いつの間にかMacのストレージ容量が不足してしまうことがありませんか?その原因の大部分は、Xcodeが生成するDerived DataDevice Supportファイルにあります。

この記事では、これらのファイルが何なのか、なぜ容量を圧迫するのか、そして安全に削除する方法について詳しく解説します。

なぜXcodeは容量を食うのか?

Xcodeでのビルド、アーカイブ、シミュレーター起動によって増える容量の大部分は、以下の2つの場所に蓄積されます:

  • Derived Data(派生データ)
  • Device Support(デバイスサポート)

これらのファイルは、プロジェクトのビルドを高速化したり、シミュレーターでアプリを動作させるために必要なものですが、時間が経つにつれて膨大な容量を占めるようになります。

Derived Data(派生データ)とは

Derived Dataは、プロジェクトをビルドする際に自動生成される一時ファイル群です。

含まれるファイルの種類

  • ビルドインデックス: プロジェクト内のファイル構造を解析し、ビルド速度を向上させるための情報
  • 中間ビルドファイル: コンパイルされたコードやリソース
  • ログファイル: ビルド時に出力される詳細なログ情報

特徴

  • プロジェクトごとに個別のフォルダが生成される
  • 新しいビルドを行うたびに更新・蓄積される
  • 削除してもXcodeの動作に支障はない(ただし、次回ビルド時間が一時的に長くなる)

Device Support(デバイスサポート)とは

Device Supportは、iOSシミュレーターや実機での開発に必要なシステムファイルです。

含まれるファイルの種類

  • iOSシミュレーター: 各iOSバージョン(iOS 16.0、iOS 17.0など)のシミュレーター実行に必要なファイル
  • 実機デバッグ用ファイル: 接続した実機のiOSバージョンに対応するシンボルファイル

容量増加の仕組み

  • 新しいiOSバージョンのシミュレーターを初回起動時にダウンロード
  • 異なるバージョンの実機を接続するたびに新しいファイルが追加
  • 使わなくなった古いバージョンのファイルも残り続ける

容量を解放する方法

1. Derived Dataの削除

方法A: Xcodeの設定から削除

  1. Xcode > Settings(またはPreferences)を開く
  2. Locationsタブを選択
  3. Derived Dataのパスを確認し、矢印アイコンをクリックしてFinderで開く
  4. 表示されたフォルダ内のファイルを削除
    • 全て削除:すべてのプロジェクトのDerived Dataを削除
    • 個別削除:特定のプロジェクトのフォルダのみを削除

方法B: ターミナルコマンドで削除

rm -rf ~/Library/Developer/Xcode/DerivedData/

注意: このコマンドはすべてのプロジェクトのDerived Dataを削除します。

2. 不要なシミュレーターの削除

手順

  1. Window > Devices and Simulatorsを開く
  2. Simulatorsタブを選択
  3. 不要なシミュレーターを右クリックしてDeleteを選択

削除の判断基準

  • 古いiOSバージョンで、今後使用予定のないもの
  • 使用していないデバイスタイプ(iPad、Apple Watchなど)のシミュレーター
  • テスト目的でのみ使用した一時的なシミュレーター

削除後の影響と注意点

Derived Data削除後

  • メリット: 大幅な容量削除(数GB〜数十GB)
  • デメリット: 次回ビルド時間が通常より長くなる(初回のみ)
  • 対象: 全プロジェクトまたは特定プロジェクトのみ

シミュレーター削除後

  • メリット: シミュレーター1つあたり数GB〜10GB程度の容量削除
  • デメリット: 削除したシミュレーターを再度使用する際は再ダウンロードが必要
  • 注意: 現在開発中のプロジェクトで使用しているシミュレーターは削除しない

定期的なメンテナンスのすすめ

推奨頻度

  • Derived Data: 月1回程度
  • 不要シミュレーター: 新しいiOSバージョンリリース後

自動化の検討

定期的な削除作業を自動化したい場合は、以下のようなスクリプトを作成することも可能です:

#!/bin/bash
# Derived Data削除スクリプト例
echo "Derived Dataを削除しています..."
rm -rf ~/Library/Developer/Xcode/DerivedData/
echo "削除完了"

まとめ

XcodeのDerived DataとDevice Supportファイルの定期的な削除により、Macのストレージ容量を効率的に管理できます。

重要なポイント:

  • 削除はXcodeの動作に必須ではない
  • 大幅な容量節約が期待できる
  • 定期的なメンテナンスで快適な開発環境を維持

ストレージ不足に悩むiOS開発者の方は、ぜひこの方法を試してみてください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


最近のコメント