web-dev-qa-db-ja.com

iosシミュレーターはxcode6のUDIDで表示されます

Xcode 6からシミュレーターを選択すると、シミュレーターを選択するための複数のオプションが表示されますが、シミュレーターにはUDIDが付属しています。下の画像を見て、私を助けてください。前もって感謝します。

enter image description here

28
Dharmbir Singh
killall Xcode
-実行中のすべてのXcodeプロセスを強制終了します。
Sudo killall -9 com.Apple.CoreSimulator.CoreSimulatorService
-実行中のすべてのCoreSimulatorServiceのプロセスを強制終了します。
rm -rf ~/Library/Developer/CoreSimulator/Devices
-すべてのシミュレーターからすべてのシミュレーターデータを削除します。
open /Applications/Xcode.app-Xcodeを開きます。

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

39
SinoJerk

Xcodeで、[ウィンドウ]-> [デバイス]に移動します(ショートカットはCmd +です!)

左側のペインで、不要なシミュレータデバイスをすべて削除します(左側のペインで選択し、キーボードのDeleteキーを押します)

通常、これらはOSを持たないものです(iOSを表示:該当なし)。

これは通常、Xcode-> Preferencesからインストールするのではなく、古いシミュレータバージョンをSDKフォルダに直接コピーしようとしたときに発生します。

21
Ameer Sheikh

修正方法

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フォルダに直接コピーしようとしたときに発生します。

0
Pawel Molodkin

@ ameer-sheikhが述べたように、[ウィンドウ]> [デバイス]に移動します。同じiOSバージョンのデバイスが複数ある可能性があります。同じ問題が発生し、重複する各デバイスを選択してDeleteキーを押すと、[デバイス]ドロップダウンに順序を復元できました。

0
dmorrow