Xcode 6からシミュレーターを選択すると、シミュレーターを選択するための複数のオプションが表示されますが、シミュレーターにはUDIDが付属しています。下の画像を見て、私を助けてください。前もって感謝します。
killall Xcode
-実行中のすべてのXcodeプロセスを強制終了します。
Sudo killall -9 com.Apple.CoreSimulator.CoreSimulatorService
-実行中のすべてのCoreSimulatorServiceのプロセスを強制終了します。
rm -rf ~/Library/Developer/CoreSimulator/Devices
-すべてのシミュレーターからすべてのシミュレーターデータを削除します。-Xcodeを開きます。
open /Applications/Xcode.app
Xcode 10の上記の手順は無効です。次の手順を使用してください:
xcrun simctl shutdown all
すべてのデバイスをシャットダウンします
xcrun simctl list devices|grep -v "unavailable"|grep -Eo "[0-9A-F\-]{36}"
利用可能なすべてのデバイスを一覧表示します
xcrun simctl list devices|grep -v "unavailable"|grep -Eo "[0-9A-F\-]{36}"|xargs xcrun simctl delete
すべてのデバイスを削除します(注:これは1行です)
より詳しく xcrun simctl help
Xcodeで、[ウィンドウ]-> [デバイス]に移動します(ショートカットはCmd +です!)
左側のペインで、不要なシミュレータデバイスをすべて削除します(左側のペインで選択し、キーボードのDeleteキーを押します)
通常、これらはOSを持たないものです(iOSを表示:該当なし)。
これは通常、Xcode-> Preferencesからインストールするのではなく、古いシミュレータバージョンをSDKフォルダに直接コピーしようとしたときに発生します。
修正方法
Xcodeは、デバイスバージョンを使用して、同じ名前のデバイスを明確にします。 2つのデバイスの名前とバージョン番号が同じである場合、デバイスのUDIDが使用されます。
たくさんのデバイス(iPhone 5sなど)がそれぞれ4つあります。それらのいくつかは同じiOSバージョン用だと思います。重複の一部を削除する必要があります。チェックアウト xcrun simctl list
およびxcrun simctl delete
または、Xcode.app内のデバイスマネージャーを使用します(「-」をクリックしてデバイスを削除します)。
デフォルトの状態に戻す方法
# Ensure all possible clients of CoreSimulatorService are no longer running:
killall Xcode 2> /dev/null
killall Instruments 2> /dev/null
killall 'iOS Simulator' 2> /dev/null
killall Simulator 2> /dev/null
killall 'Simulator (Watch)' 2> /dev/null
killall ibtoold 2> /dev/null
killall simctl 2> /dev/null
# There may be others
# Kill the service itself
Sudo killall -9 com.Apple.CoreSimulator.CoreSimulatorService
# Remove all the data and logs
rm -rf ~/Library/*/CoreSimulator
なぜこれが起こっているのか:
CoreSimulatorServiceは、/ Library/Developer/CoreSimulator/Profilesに新しいシミュレーターランタイムが追加されているかどうかを監視します(たとえば、Xcode-> Preferences-> Downloadsからダウンロードする場合)。新しいランタイムをインストールすると、CoreSimulatorServiceはそのランタイムのデバイスの初期セットを作成します。
この問題は、CoreSimulatorServiceの複数のインスタンスが同時に実行されている場合に発生します。各CoreSimulatorServiceインスタンスは、独自のデバイスセットを作成します(ただし、そのクライアントは、最初はそのインスタンスのセットのみを参照します)。その後の起動時(例:再起動後)、両方のコピーが表示されます。リリースされたXcode.appを使用するのと同じログインセッションでXcode.appのベータ版をテストするか、更新の前後にXcode.appを使用したため、CoreSimulatorServiceの複数のコピーが同時に実行されている状態になる可能性があります。 AppStoreから。
このバグが発生する可能性のある他の方法を知っている場合は、 http://bugreport.Apple.com で新しいレーダーを提出してください。
[ウィンドウ]-> [デバイス]に移動します(ショートカットはCmd + Shift + 2です)左側のペインで、不要なシミュレーターデバイスをすべて削除します(左側のペインで選択し、キーボードでDeleteキーを押します)通常、これらはOSを持たないデバイスです(iOSを表示) :該当なし)。これは通常、Xcode-> Preferencesからインストールするのではなく、古いシミュレータバージョンをSDKフォルダに直接コピーしようとしたときに発生します。
@ ameer-sheikhが述べたように、[ウィンドウ]> [デバイス]に移動します。同じiOSバージョンのデバイスが複数ある可能性があります。同じ問題が発生し、重複する各デバイスを選択してDeleteキーを押すと、[デバイス]ドロップダウンに順序を復元できました。