Skip to main content
  1. Posts/

Xcodeの不要になったシミュレータとデバイスをまとめて削除する方法

·

不要になったシミュレータやデバイスでMacのストレージが圧迫されがちです。 シミュレータやデバイスを削除する方法いつも忘れてしまうので、備忘録として書いておきます。

とても参考になったのは、以下リンクのブログです。
https://capibara1969.com/3810/

シミュレータのランタイムを削除する方法 #

まずは、OSのイメージであるランタイムを削除する方法を紹介します。 2つのアプローチがありますが、私は、Xcodeで操作する方法をおすすめします。

XcodeのPreferencesから操作する方法(おすすめ) #

Xcodeを起動し、メニューからPreferencesを開きます。 Platformsタブをクリックすると、シミュレータのOSランタイムがリストアップされます。 その画面で、OSランタイムの追加と削除ができます。

スクリーンショット

Xcodeで行うのが最も安全に思います。

手作業で削除する方法(非推奨な方法) #

iOS16以上とそれ未満では、ランタイムが保存されているディレクトリが異なります。

スクリーンショット

iOS16未満のランタイムは、以下のディレクトリにある.simruntimeファイルを削除します。

/Library/Developer/CoreSimulator/Profiles/Runtimes

iOS16以上のランタイムは、以下のディレクトリにボリュームとしてマウントされています。

/Library/Developer/CoreSimulator/Volumes

iOS16以上のランタイムを削除するときは、まず、取り出しボタンをクリックしてアンマウントします。 アンマウントしてあげることで、その正体を現します(ただのディレクトリに変わる)。

スクリーンショット

このようにしてから、ディレクトリごと削除します。

ちなみに、このディレクトリの中身を見ると、深い階層のところにsimruntimeファイルがありました。

/Library/Developer/CoreSimulator/Volumes/iOS_20A360/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS\ 16.0.simruntime/

なお、こうした手作業の操作はエラーを誘発しかねないので、あまりお勧めしません。

使用しなくなったデバイスをまとめて削除する方法 #

simctlを使って削除します。まとめて削除できるのでとても便利です。

デバイス一覧 #

xcrun simctl list devices

シミュレータが削除されて起動できなくなったデバイスには、「Unavailable」というラベルが付きます。 Unavailableになったデバイスを、次のコマンドでまとめて削除します。

まとめて削除 #

xcrun simctl delete unavailable

これでOK。


参考にしたブログには、個別の削除方法も載っていました。 ただ、個別の削除はXcodeのGUIからでもいいかなと思いました。

デバイスを個別に削除 #

Macのメニューバーから、Window > Devices and Simulators を開き、左カラムはSimulatorを選択。 削除したいデバイスを選択し、右クリックでDeleteのメニューが出てきます。

スクリーンショット

ただ、この画面では複数選択ができないので、デバイスをひとつずつ削除していく必要があります。 面倒な人は、やはりスクリプトを組んだほうが良さそうです。