昨日まで、Xcodeではすべてが正常でした。シミュレータを次のように表示していました。
しかし、今日、それを開いたとき、シミュレーターのリストは次のように変更されました。
すべてのシミュレーターは2回見ることができ、名前の後に一意のIDが続きます。また、同じ名前のシミュレータも2つの異なるインスタンスであることを確認しました。
誰も私を助けることができますか、これを取り除く方法は?またはそれをリセットする方法。それは奇妙な外観を与えます。
任意の提案が役立ちます。
これを修正する簡単な方法があります。
以下を実行します。
xcrun simctl list devices | grep -v '^[-=]' | cut -d "(" -f2 | cut -d ")" -f1 | xargs -I {} xcrun simctl delete "{}"
sunnyxxのweibo からの解決策:
1.XcodeとiOSシミュレータを終了
2 .killall -9 com.Apple.CoreSimulator.CoreSimulatorService
3 .rm -rf ~/Library/Developer/CoreSimulator/Devices
4.Xcodeを再度開く
編集:SudoはSimulatorServiceを強制終了する必要はないようです。このソリューションは、存在するシミュレーターをすべて削除し、利用可能なすべてのバージョンとタイプのシミュレーターを再作成します。
次のコマンドを使用できます。
snapshot reset_simulators
スナップショットがまだインストールされていない場合:
Sudo gem install snapshot
。
snapshotの詳細はこちら: https://github.com/krausefx/snapshot#installation
更新時に、大量のシミュレータが別々のデバイスに分割されたように見えます。したがって、あなたがやりたいと思うことは、出力決定リストを減らすことです。
シミュレーターのリストを表示するには、メニューバーで、ウィンドウ>デバイスに移動します。ここでは、出力リストにすべてのシミュレーターが表示されます。削除したり、必要なシミュレータを追加して最初からやり直したりする理由はありません
Menu-> Window-> Devicesに移動して重複を削除することで修正しました(たとえば、iPhone 6のシミュレーターが複数ある場合は、1つを除くすべてを削除します)。
ターミナルに移動して、次を使用してシミュレーターのリストを表示します。
xcrun simctl list
次を使用してIDを使用して重複を削除します。
xcrun simctl delete <ID>
例えば。
xcrun simctl delete 4B645F13-D130-412D-8EB4-B49BE7E2D7DA
Dozのonelinerは優れていますが、シミュレータのUUIDを抽出する部分は、名前に括弧が含まれているため、「iPad Pro(12.9インチ)」などの一部のiPadデバイスで失敗します。これを説明するために、カットではなくgrepを使用するように書き直しました。
xcrun simctl list devices | grep -o '[A-F0-9]\{8\}-[A-F0-9]\{4\}-[A-F0-9]\{4\}-[A-F0-9]\{4\}-[A-F0-9]\{12\}' | xargs -I {} xcrun simctl delete "{}"
Xcodeシミュレータの重複を削除するスクリプトを作成することになりました。