古いシミュレーターを削除する方法を解説します。
環境
この記事の情報は次のバージョンで動作確認しています。
【Swift】5.5
【iOS】15.0
【macOS】Big Sur バージョン 11.6
シミュレータが格納されているフォルダ
はじめにシミュレーターがどこに格納されているか知っておきましょう。
シミュレータのファイルには、次の2つがあります。
- ランタイム(実行ライブラリ)
- デバイス毎の実行イメージ
ランタイム(実行ライブラリ)
ランタイムはOSのバージョン毎に存在する実行ライブラリです。
Xcodeのメニューより、Xcode > Preferences... を選択、開いたサブウィンドウの Components を選択すると、現在存在しているランタイムが確認できます。
青チェックのついているのが、存在しているランタイムです。
ランタイムファイルの実態は下記のフォルダにあります。
1 2 3 |
/Library/Developer/CoreSimulator/Profiles/Runtimes |
ランタイムの削除は対象のファイルを削除するだけでOKです。
デバイス毎の実行イメージ
Xcodeでは次のように使用可能なシミュレータを選択できますが、1つ1つに実行イメージが用意されています。
実行イメージファイルの実態は下記のフォルダにあります。
1 2 3 |
〜/Library/Developer/CoreSimulator/Devices |
ファイル名がコードになっていてどのシミュレータに対応しているのか一見わかりません。
シミュレータを管理するコマンドツール(simctl)が別に用意されています。
simctlの使い方
simctlはXcodeに含まれるコマンドライン・インターフェース・ツールで、シミュレータの管理を行うために使用します。
デバイス一覧の出力
次のコマンドで現在インストールされているデバイス毎の実行イメージ一覧を出力できます。
1 2 3 |
xcrun simctl list devices |
出力結果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
== Devices == -- iOS 11.4 -- iPhone 5s (39183907-35AB-4D96-9814-8069031EB18B) (Shutdown) iPhone 6 Plus (079ED0E5-AC12-4F22-BB7C-C58E1D6D6B8C) (Shutdown) iPhone 6 (8BCAB54A-789B-47A7-A2D6-74C91F7B67D1) (Shutdown) ・ ・ ・ -- iOS 13.5 -- iPhone 8 (2EEB19C9-5B42-4D19-8680-9F1D9C4F8D7F) (Shutdown) -- iOS 14.5 -- iPhone 12 (3EB5CB92-2989-427D-BD51-05EB81177051) (Shutdown) -- iOS 15.0 -- iPhone 8 (BA6D1F1E-E714-4040-8640-88E98C6DB01F) (Shutdown) iPhone 8 Plus (68FE150D-B10B-46D8-BEB9-96B2595E166D) (Shutdown) iPhone 11 (91BBB410-AECD-453C-A767-BD94DE85FD8A) (Shutdown) iPhone 11 Pro (71D65F89-B1FD-4F7F-A4D3-B1803D5477ED) (Shutdown) ・ ・ ・ iPad mini (6th generation) (C3FB2002-F6CD-4D49-A848-B8EF5A68F3E7) (Shutdown) -- tvOS 15.0 -- Apple TV (6778BDC7-F3D8-4881-A87C-DB641C8360C9) (Shutdown) Apple TV 4K (8D461478-AFC3-4895-A68D-94854F6E6516) (Shutdown) Apple TV 4K (at 1080p) (3E567856-5391-4374-B062-C8BCE68B4803) (Shutdown) Apple TV 4K (2nd generation) (A7BD4228-60BE-4FB6-8983-E12CE8C0EDE4) (Shutdown) Apple TV 4K (at 1080p) (2nd generation) (B1BB2852-B9B0-4313-8208-A8332E5903FF) (Shutdown) -- watchOS 8.0 -- Apple Watch Series 4 - 40mm (E8B2D9FC-4E91-4A2D-A470-D9F2E15F4519) (Shutdown) Apple Watch Series 4 - 44mm (30BBBA8B-AAA9-4D4C-BA32-8BA0837DD5EB) (Shutdown) Apple Watch Series 5 - 40mm (A747DEFB-38A5-4868-B2F6-B9A5560BD5B7) (Shutdown) ・ ・ ・ |
カッコ内のコードが、ファイル名に該当します。
実行イメージを削除する。
個別の実行イメージを削除するには次のコマンドを使用します。
1 2 3 |
xcrun simctl delete ファイル名 |
不要な実行イメージをまとめて削除する
あるバージョンのランタイムを削除すると、対象の実行イメージは一覧で次のように unavailable と表示されます。
1 2 3 4 5 6 7 8 9 |
-- Unavailable: com.apple.CoreSimulator.SimRuntime.iOS-14-1 -- iPhone 6s (C6C43D69-915B-40C9-81FB-52A1EFB03EA1) (Shutdown) (unavailable, runtime profile not found) iPhone 8 (3B5B229C-D232-46CE-9D03-640506FDCC17) (Shutdown) (unavailable, runtime profile not found) iPhone 8 Plus (3E20A0C5-DFD5-4360-8033-543420F7F771) (Shutdown) (unavailable, runtime profile not found) ・ ・ ・ |
次のコマンドを使って unavailable の実行イメージをまとめて削除できます。
1 2 3 |
xcrun simctl delete unavailable |
simctlコマンドが使えない場合
1 2 3 |
xcrun: error: unable to find utility "simctl", not a developer tool or in PATH |
このようなメッセージが出て、simctlコマンドが使えない場合は、Xcodeのメニューより、Xcode > Preferences... で、開いたサブウィンドウの Locations を選択します。
Command Line Tools: に値が入っていないと思われますので、選択可能な最新のXcodeを選択して下さい。