在过去一个月的XCode各种更新中,我的模拟器选择列表中不再显示iOS版本(如下图所示)。有人知道如何解决吗?
在过去一个月的XCode各种更新中,我的模拟器选择列表中不再显示iOS版本(如下图所示)。有人知道如何解决吗?
如何修复
Xcode使用设备版本号来区分具有相同名称的设备。如果两个设备具有相同的名称和版本号,则它将使用设备的UDID。
您有许多相同设备(例如iPhone 5s),我怀疑其中一些是相同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->偏好设置->下载中下载它们时)。 安装新运行时时,CoreSimulatorService将为该运行时创建一组初始设备。
如果同时运行多个CoreSimulatorService实例,则会出现此问题。 每个CoreSimulatorService实例将创建自己的设备集(但其客户端一开始只能看到该实例的集合)。 在随后的启动(例如:重新启动后),两个副本都将被看到。 由于在相同的登录会话中测试Xcode.app的beta版本并使用发布的Xcode.app或在通过应用商店更新之前和之后使用Xcode.app,可能会出现多个CoreSimulatorService副本同时运行的状态。
如果您知道此错误可能发生的其他方式,请在http://bugreport.apple.com上提交新的radar。
在“设备”窗口中删除多个副本的相同版本对我有帮助。