Xcodeの容量を減らすには?削除してよいデータ

更新日 · 約6分で読めます

Xcodeはどこで容量を使っていますか?

容量の大部分を使っているのはXcode.app本体ではなく、~/Library/Developerです。ここにはビルドデータ、デバイスのシンボル、シミュレータ、アーカイブがたまり、プロジェクトやiOSのバージョンが増えるたびに大きくなります。

  • ~/Library/Developer/Xcode/DerivedData – ビルドの中間生成物とインデックス。
  • ~/Library/Developer/Xcode/iOS DeviceSupport – これまでに接続したiOSバージョンごとのシンボル。
  • ~/Library/Developer/Xcode/Archives – dSYMファイルを含む、アーカイブ済みのビルド。
  • ~/Library/Developer/CoreSimulator/Devices – シミュレータのデバイスとそのデータ。
  • ~/Library/Developer/CoreSimulator/Caches – シミュレータのキャッシュ。

安全に削除できるものは?

次のデータは再作成可能で、必要になるとXcodeが作り直します。使用中のファイルがないよう、先にXcodeを終了してください。

  • DerivedData:丸ごと削除できます。次回のビルドとインデックス作成に時間がかかるだけです。
  • iOS DeviceSupport:もうテストしていない古いiOSバージョンのフォルダ。デバイスを接続すると再ダウンロードされます。
  • CoreSimulatorのキャッシュ:必要に応じて再作成されます。
  • 利用できないシミュレータ:xcrun simctl delete unavailableで、ランタイムがインストールされていないデバイスを削除できます。

残しておくべきものは?

アーカイブ(Archives)には、リリースしたビルドのdSYMファイルが含まれています。これがないと、そのバージョンのクラッシュレポートをシンボリケートできなくなります。少なくとも、まだユーザが使っているすべてのバージョンのアーカイブは残し、それ以外はXcodeのWindow › Organizerから削除してください。

まだ必要なテストデータを含むシミュレータのデバイスや、対象プラットフォームのランタイムも、むやみに削除しないでください。また、~/Library内では、ここに挙げたフォルダ以外は削除しないでください。

シミュレータのランタイムを削除するには?

シミュレータのランタイムは、1つで数GBになることもよくあります。管理はXcode › 設定(Settings)› プラットフォーム(Platforms)で行います(古いXcodeではPreferences › Components)。ランタイムを選択し、マイナスボタンで削除します。

ターミナルでは、xcrun simctl runtime listでインストール済みのランタイムを確認できます。シミュレータのデバイスを個別に削除するには、XcodeのWindow › Devices and Simulatorsを使います。

Xcodeと一緒に増えるパッケージキャッシュは?

パッケージマネージャはそれぞれ独自のキャッシュを持っており、安全に消去できます。次回のダウンロード時に再びたまっていきます。

  • Homebrew:brew cleanupで古いバージョンや不要になったダウンロードを削除できます。
  • CocoaPods:pod cache clean --allでPodのキャッシュを消去できます。
  • Swift Package Manager:キャッシュは~/Library/Caches/org.swift.swiftpmにあり、パッケージは必要なときに再取得されます。

Xcodeの容量を安全に減らす

  1. Xcodeを終了する

    使用中のファイルがないよう、XcodeとSimulatorを終了します。

  2. DerivedDataを削除する

    Finderで移動 › フォルダへ移動を選び、~/Library/Developer/Xcode/DerivedDataと入力して、中身をゴミ箱に入れます。

  3. 古いDeviceSupportフォルダを削除する

    ~/Library/Developer/Xcode/iOS DeviceSupportを開き、もうテストしていないiOSバージョンのフォルダを削除します。

  4. 利用できないシミュレータを削除する

    ターミナルでxcrun simctl delete unavailableを実行します。

  5. 使っていないランタイムを削除する

    Xcode › 設定(Settings)› プラットフォーム(Platforms)で、不要になったシミュレータのランタイムを削除します。

  6. アーカイブを見直す

    Window › Organizerを開き、もう使われていないバージョンのアーカイブだけを削除します。

  7. パッケージキャッシュを消去する

    HomebrewやCocoaPodsを使っている場合は、brew cleanupとpod cache clean --allを実行します。

よくある質問

DerivedDataを削除しても安全ですか?

はい。DerivedDataは次回のビルド時にXcodeが再作成します。最初のビルドとインデックス作成に少し時間がかかります。使用中のファイルがないよう、先にXcodeを終了してください。

iOS DeviceSupportを削除するとどうなりますか?

次にデバイスを接続したとき、Xcodeが対応するシンボルを再ダウンロードします。数分かかることがあります。そのため、もう使っていない古いiOSバージョンのフォルダから削除するのがおすすめです。

~/Library/Developerを丸ごと削除してもいいですか?

いいえ。そこには、dSYMファイルを含むアーカイブ、テストデータを含むシミュレータのデバイス、ほかの開発ツールのデータも入っています。再作成可能なフォルダだけを選んで削除してください。

どのくらいの容量が空きますか?

プロジェクト、iOSバージョン、シミュレータの数によって大きく異なります。まずdu -sh ~/Library/Developer/*やディスクマップで、お使いのMacでどのフォルダが大きいかを確認してください。