MacのXcodeシミュレータランタイムとは。削除できるか
/Library/Developer/CoreSimulator の中のものを手動で削除しないでください。そこにあるランタイムは、macOSが管理する、マウントされたディスクイメージです。テストに使わなくなったバージョンは、Xcodeの設定か xcrun simctl で削除します。
場所
/Library/Developer/CoreSimulator/Volumesこれは何か
シミュレータランタイムは、シミュレータが起動する、iOS、watchOS、tvOS、visionOSの完全なコピーです。Xcodeはそれぞれをディスクイメージとしてダウンロードし、必要になると /Library/Developer/CoreSimulator/Volumes の下にマウントします。イメージ自体は /Library/Developer/CoreSimulator の下の別の場所に保存され、最近のバージョンのXcodeではシステムが管理する場所に保存されます。
これは、ホームフォルダにある ~/Library/Developer/CoreSimulator とは別のものです。そちらには、作成したシミュレータデバイスとそのアプリデータが入っています。
ランタイムがたまるのは、新しいXcodeが出るたびに新しいOSバージョンが加わり、古いものがインストールされたまま残るからです。ファイルを直接削除すると、一覧には表示されるのに使えないランタイムがXcodeに残ることがあります。
どのくらい大きくなるか
ランタイム1つあたり数GBあるので、数年分のiOSバージョンがインストールされたMacでは数十GBになることがあります。
正しい方法で小さくするには
- 下記のコマンドを実行して、インストール済みのランタイムを識別子とサイズとともに一覧表示します。
- Xcodeで「Xcode」>「Settings」>「Components」と選択します。古いバージョンでは、このタブは「Platforms」という名前です。
- 不要になったランタイムを選択し、そこで削除します。
- ターミナルからは、xcrun simctl runtime delete のあとに、一覧にあるランタイムの識別子を続けて実行すると、そのランタイムが削除されます。
- そのあとで xcrun simctl delete unavailable を実行し、削除したランタイムに依存していたシミュレータデバイスを削除します。
xcrun simctl runtime list削除したあとはどうなるか
削除したOSバージョンのシミュレータは使えなくなります。そのバージョンがもう一度必要になった場合は、Xcodeの同じ「Components」タブからダウンロードします。サイズの大きいダウンロードです。
Diskzyでの扱い
Diskzyは、シミュレータランタイムが使っている領域をディスクマップに表示します。削除はXcodeを通して行います。そうすれば、Xcode自身の記録との整合性が保たれます。
関連ガイド
- CoreSimulator Devices~/Library/Developer/CoreSimulator/Devices
- CoreSimulator Caches~/Library/Developer/CoreSimulator/Caches
- iOS DeviceSupport~/Library/Developer/Xcode/iOS DeviceSupport
- DerivedData~/Library/Developer/Xcode/DerivedData
Macの空き領域がどこに消えたのかを確認
Diskzyはディスク全体をマップにし、システムデータの内訳を示し、安全なものを消去します。72時間は無料、その後は$9の買い切りでMac 2台まで使えます。
Diskzyを無料で試す