xcrun simctl unpairは、xcrun simctl pairでWatchとiPhoneをペアリングする
で作成したWatchとiPhoneのペアを解除するサブコマンドである。
基本的な使い方
unpair <pair UUID>の形式で、list pairsで確認できるペアのUUIDを指定して実行する。
$ xcrun simctl list pairs
== Device Pairs ==
BFA5CAA4-FF2D-4AD1-8B90-EF849C01388A (active, disconnected)
Watch: TIL Unpair Watch A (1F59A448-B56F-4ECA-B1AC-CB263E072E89) (Shutdown)
Phone: TIL Unpair iPhone (F64E014A-CBA5-407B-A8A4-73E7E09CF27C) (Shutdown)
$ xcrun simctl unpair "BFA5CAA4-FF2D-4AD1-8B90-EF849C01388A"
$ xcrun simctl list pairs
== Device Pairs ==
解除してもWatch・iPhoneのデバイス自体は削除されず、list devicesにはそのまま残る。
$ xcrun simctl list devices | grep "TIL Unpair"
TIL Unpair iPhone (F64E014A-CBA5-407B-A8A4-73E7E09CF27C) (Shutdown)
TIL Unpair Watch A (1F59A448-B56F-4ECA-B1AC-CB263E072E89) (Shutdown)
起動中でも解除できる
参考: xcrun simctl pairでWatchとiPhoneをペアリングする
Watch・iPhoneが起動中(Booted)のままでも、unpairはエラーにならず解除できる。
$ xcrun simctl list pairs
== Device Pairs ==
BFA5CAA4-FF2D-4AD1-8B90-EF849C01388A (active, disconnected)
Watch: TIL Unpair Watch A (1F59A448-B56F-4ECA-B1AC-CB263E072E89) (Booted)
Phone: TIL Unpair iPhone (F64E014A-CBA5-407B-A8A4-73E7E09CF27C) (Booted)
$ xcrun simctl unpair "BFA5CAA4-FF2D-4AD1-8B90-EF849C01388A"
$ xcrun simctl list devices | grep "TIL Unpair"
TIL Unpair iPhone (F64E014A-CBA5-407B-A8A4-73E7E09CF27C) (Booted)
TIL Unpair Watch A (1F59A448-B56F-4ECA-B1AC-CB263E072E89) (Booted)
デバイスは起動状態を保ったまま、ペアだけが解除される。
引数にはペアのUUIDだけを指定できる
unpairの引数には、list pairsで確認できるペアのUUIDだけを指定できる。
Watch/iPhoneのデバイス名を指定するとエラーになる。
$ xcrun simctl unpair "TIL Unpair Watch B"
Invalid device pair: TIL Unpair Watch B
存在しないペアUUIDを指定した場合や、既に解除済みのペアUUIDを再度指定した場合も、同じInvalid device pairエラーになる。
activeなペアを解除しても、残りのペアは自動でactiveにならない
1台のiPhoneに複数のWatchをペアリングしている場合、xcrun simctl pair_activateで作成済みのペアをアクティブにする
で触れたとおり、実際に連携するペアは1つ(active)だけである。
activeなペアをunpairで解除すると、残ったペアがあっても自動的にはactiveへ切り替わらず、inactiveのままになる。
$ xcrun simctl list pairs
== Device Pairs ==
7C5BB3FF-21CC-4877-B967-C697A7B7478B (active, disconnected)
Watch: TIL Unpair Watch A (1F59A448-B56F-4ECA-B1AC-CB263E072E89) (Shutdown)
Phone: TIL Unpair iPhone (F64E014A-CBA5-407B-A8A4-73E7E09CF27C) (Shutdown)
42251E22-E364-4E56-9DDC-A941AB91B56D (inactive, disconnected)
Watch: TIL Unpair Watch B (EB638FE1-C320-4159-8FF4-FE688BD6A1CC) (Shutdown)
Phone: TIL Unpair iPhone (F64E014A-CBA5-407B-A8A4-73E7E09CF27C) (Shutdown)
$ xcrun simctl unpair "7C5BB3FF-21CC-4877-B967-C697A7B7478B"
$ xcrun simctl list pairs
== Device Pairs ==
42251E22-E364-4E56-9DDC-A941AB91B56D (inactive, disconnected)
Watch: TIL Unpair Watch B (EB638FE1-C320-4159-8FF4-FE688BD6A1CC) (Shutdown)
Phone: TIL Unpair iPhone (F64E014A-CBA5-407B-A8A4-73E7E09CF27C) (Shutdown)
Watch Bのペアが唯一残ったペアになった後もinactiveのままであり、実際に使うにはpair_activateで明示的に切り替える必要がある。
ペアに参加しているデバイスをdeleteすると、ペアも一緒に削除される
unpairせずに、ペアに参加しているデバイスをそのままxcrun simctl deleteでiOSシミュレータデバイスを削除する
で削除しても、エラーにはならない。
$ xcrun simctl list pairs
== Device Pairs ==
42251E22-E364-4E56-9DDC-A941AB91B56D (inactive, disconnected)
Watch: TIL Unpair Watch B (EB638FE1-C320-4159-8FF4-FE688BD6A1CC) (Shutdown)
Phone: TIL Unpair iPhone (F64E014A-CBA5-407B-A8A4-73E7E09CF27C) (Shutdown)
$ xcrun simctl delete "TIL Unpair Watch B"
$ xcrun simctl list pairs
== Device Pairs ==
$ xcrun simctl list devices | grep "TIL Unpair"
TIL Unpair iPhone (F64E014A-CBA5-407B-A8A4-73E7E09CF27C) (Shutdown)
Watch Bを削除すると、事前にunpairしていなくてもペア自体が一覧から消える。
CIなどでテスト用デバイスをまとめて片付ける場合、ペアの解除を意識せずにdeleteだけで済ませられる。
