在 Xcode 6.2 中,模拟器名称显示为 id 而不是 os 名称

simulator name is shown with id instead of os name in Xcode 6.2

我在安装 Xcode 6.2 之后安装了额外的 ios 模拟器 (7.1),现在模拟器名称如下所示:

如何更改名称?

Xcode 使用设备版本来消除同名设备的歧义。如果两个设备具有相同的名称和版本号,它将显示设备的 UDID。

您的所有设备类型各有 4 种,因此我怀疑其中一些设备适用于相同的 iOS 版本。您应该删除一些重复项。查看

xcrun simctl list

xcrun simctl delete

或转到 Windows>Xcode 中的设备以删除或重命名您的设备。

  1. 转到这条路径“~/Library/Developer/CoreSimulator/Devices”
  2. 删除列出的所有设备
  3. 重启系统
  4. 打开 xcode 您将看到名称为
  5. 的设备
  6. 如果您想要添加其他设备版本,您可以从 windows-> 设备添加并点击 + 按钮。

如何修复

Xcode 使用设备版本来消除同名设备的歧义。 如果两个设备具有相同的名称和版本号,它将使用设备的 UDID。

你有一堆设备各有 4 个(例如 iPhone 5s)。我怀疑其中一些用于相同的 iOS 版本。您应该删除一些重复项。查看 xcrun simctl listxcrun 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 的同一登录会话中测试 Xcode.app 的 beta 版本,或者通过使用Xcode.app 通过 App Store 更新前后。

如果您知道此错误可能以任何其他方式出现,请在 http://bugreport.apple.com

提交新雷达

这是一个不涉及在命令行中输入内容的解决方案。单击模拟器列表底部的 "Add additional simulators",然后单击要删除的模拟器,按 Delete 并确认。如果有很多重复的模拟器,您可能会这样做一段时间。不知何故,在我安装 iOS 8.4 模拟器后,为 iOS 8.4...

创建了每种设备类型的大约 20 个模拟器

自动重新创建 XCode 个模拟器

使用此脚本自动重新创建 XCode 个模拟器