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

时间:2015-03-26 09:06:01

标签: objective-c iphone xcode6 ios-simulator

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

enter image description here

如何更改名称?

5 个答案:

答案 0 :(得分:72)

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

您拥有所有设备类型中的4种,因此我怀疑其中一些是针对相同的iOS版本。您应该删除一些重复项。看看

xcrun simctl list

xcrun simctl delete

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

答案 1 :(得分:6)

如何修复

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

你有一堆设备中的每一个(例如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,可以进入同时运行多个CoreSimulatorService副本的状态通过App Store。

如果您了解此错误可能产生的任何其他方式,请在http://bugreport.apple.com

提交新雷达

答案 2 :(得分:1)

这是一个解决方案,它不涉及在命令行中输入内容。点击"添加其他模拟器"在模拟器列表的底部,然后单击要删除的模拟器,按Delete,然后确认。如果有很多重复的模拟器,你可能会这样做一段时间。不知何故,在我安装iOS 8.4模拟器之后,为iOS 8.4创建了大约20个每种设备类型的模拟器......

答案 3 :(得分:0)

  1. 转到此路径“〜/ Library / Developer / CoreSimulator / Devices”
  2. 删除列出的所有设备
  3. 重新启动系统
  4. 打开xcode,您会看到名称为
  5. 的设备
  6. 如果您想添加可以从windows->设备添加的添加设备版本,请点按+按钮。

答案 4 :(得分:0)

自动重新创建XCode模拟器

使用此脚本自动重新创建XCode Simulator https://stackoverflow.com/a/35600096/1996802