[英]ios simulator appear with UDID in xcode 6
当我从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
删除所有设备(注意:这是一行)
更多细节xcrun simctl help
在Xcode中,转到Window - > Devices(快捷方式是Cmd +!)
在左侧窗格中,删除所有多余的模拟器设备(在左侧窗格中选择并按键盘上的删除)
通常这些是没有操作系统的(显示iOS:不适用)。
当您尝试直接在SDK文件夹中复制较旧的模拟器版本而不是从Xcode - > Preferences安装它们时,通常会发生这种情况。
如何解决它
Xcode使用设备版本来消除具有相同名称的设备的歧义。 如果两个设备具有相同的名称和版本号,则它将使用设备的UDID。
你有一堆设备中的每一个(例如iPhone 5s)。 我怀疑其中一些是针对相同的iOS版本。 您应该删除一些重复项。 查看xcrun simctl list
和xcrun simctl delete
或使用xcrun simctl delete
的设备管理器(单击“ - ”删除设备)。
如何回到默认状态
# 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下载它们时 - >首选项 - >下载)。 安装新运行时时,CoreSimulatorService将为该运行时创建一组初始设备。
如果同时运行多个CoreSimulatorService实例,则会出现此问题。 每个CoreSimulatorService实例都将创建自己的一组设备(但其客户端最初只会看到该实例的设置)。 在后续启动时(例如:重启后),将看到两个副本。 由于在与使用发布的Xcode.app相同的登录会话中测试Xcode.app的beta版本或者在更新之前和之后使用Xcode.app,可以进入同时运行多个CoreSimulatorService副本的状态通过App Store。
如果您了解此错误可能产生的任何其他方式,请在http://bugreport.apple.com上提交新的雷达
正如@ ameer-sheikh所提到的,请转到Window> Devices您可能拥有多个具有相同iOS版本的设备。 我有同样的问题,在选择每个重复设备并按下删除后,我能够将订单恢复到我的设备下拉列表
转到窗口 - >设备(快捷方式是Cmd + Shift + 2)在左侧窗格中,删除所有多余的模拟器设备(在左窗格中选择并按键盘上的删除)通常这些是没有操作系统的设备(显示iOS) :不适用)。 当您尝试直接在SDK文件夹中复制较旧的模拟器版本而不是从Xcode - > Preferences安装它们时,通常会发生这种情况。
另一个答案中的bash命令可能更简单,但您可以尝试更简单,更复杂的解决方案:
gem install snapshot; snapshot reset_simulators
https://github.com/KrauseFx/snapshot
通过@saniul
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.