Xcodeの不要になったシミュレータとデバイスをまとめて削除する方法
Table of Contents
不要になったシミュレータやデバイスで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のメニューが出てきます。
ただ、この画面では複数選択ができないので、デバイスをひとつずつ削除していく必要があります。 面倒な人は、やはりスクリプトを組んだほうが良さそうです。