ios模拟器在xcode 6中出现UDID
Posted
技术标签:
【中文标题】ios模拟器在xcode 6中出现UDID【英文标题】:ios simulator appear with UDID in xcode 6 【发布时间】:2014-11-30 10:32:12 【问题描述】:当我从 xcode 6 中选择模拟器时,我会得到多个选项来选择模拟器,但模拟器带有 UDID。请看下面的图片,请帮助我。提前致谢。
【问题讨论】:
XCode using GUID instead of ios version number in Simulator Selection的可能重复 【参考方案1】:<del>killall Xcode</del>
- 杀死所有正在运行的 Xcode 进程。<del>sudo killall -9 com.apple.CoreSimulator.CoreSimulatorService</del>
- 杀死所有正在运行的 CoreSimulatorService 进程。<del>rm -rf ~/Library/Developer/CoreSimulator/Devices</del>
- 从所有模拟器中删除所有模拟器数据。<del>open /Applications/Xcode.app</del>
- 打开 Xcode。
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
【讨论】:
在我的情况下需要杀死进程才能解决问题。不过,仅从终端完成非常整洁 这个答案应该更新,解释问题的原因,解释终端命令的作用。 那行得通,但现在我没有模拟器。如何重新获得一组基本模拟器? “下载”窗口未列出 iOS 9.2 模拟器,而将其他模拟器显示为已下载。 我找到了:窗口 > 设备 > + > 添加模拟器。【参考方案2】:如何解决
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 -> Preferences -> Downloads 下载它们时)。安装新运行时时,CoreSimulatorService 将为该运行时创建一组初始设备。
如果同时运行多个 CoreSimulatorService 实例,则会出现此问题。每个 CoreSimulatorService 实例都会创建自己的一组设备(但它的客户端首先只会看到该实例的组)。在后续启动时(例如:重新启动后),将看到两个副本。由于在与使用已发布 Xcode.app 相同的登录会话中测试 Xcode.app 的 beta 版本,或者在更新之前和之后使用了 Xcode.app,人们可能会进入同时运行多个 CoreSimulatorService 副本的状态通过 App Store。
如果您知道此错误可能出现的任何其他方式,请在http://bugreport.apple.com 提交新雷达
【讨论】:
我已删除 ~/Devices/ 文件夹中的所有文件。但仍然得到这个。 你需要 SIGKILL 服务 ss 好(或只是重新启动)。 其他解决方案无效,但这个解决方案有效。*
对我来说很关键,因为 ~/Library/Logs/CoreSimulator
也需要删除。
这对我有用。其他人没有完全解决我的问题。【参考方案3】:
另一个答案中的 bash 命令可能更简单,但您可以尝试这个更简单但更复杂的解决方案:
gem install snapshot; snapshot reset_simulators
https://github.com/KrauseFx/snapshot
通过@saniul
【讨论】:
虽然当我这样做时,它会从我的 beta Xcode 7 安装中删除我的所有 sim,并且我的 Xcode 7 sim 在启动时崩溃,因为它假定至少安装了一个 sim。我必须在设备窗口中创建一个 Xcode 7 sim。【参考方案4】:在 Xcode 中,转到 Window -> Devices(快捷键是 Cmd+!)
在左侧窗格中,删除所有多余的模拟器设备(在左侧窗格中选择并按键盘上的删除)
通常这些是没有操作系统的(显示 iOS:n/a)。
当您尝试直接在 SDK 文件夹中复制较旧的模拟器版本而不是从 Xcode -> Preferences 安装它们时,通常会发生这种情况。
【讨论】:
好的,谢谢,但是我想复制旧的模拟器然后怎么做呢?? 你不应该直接复制它。转到 Preferences -> Downloads 并在 Components 下,下载您需要的模拟器。【参考方案5】:转到窗口 -> 设备(快捷键是 Cmd+Shift+2) 在左侧窗格中,删除所有多余的模拟器设备(在左侧窗格中选择并按键盘上的删除) 通常这些是没有操作系统的(显示 iOS:n/a)。 当您尝试直接在 SDK 文件夹中复制较旧的模拟器版本而不是从 Xcode -> Preferences 安装它们时,通常会发生这种情况。
【讨论】:
【参考方案6】:正如@ameer-sheikh 所说,转到“窗口”>“设备” 您可能有多个设备具有相同的 iOS 版本。我遇到了同样的问题,在选择每个重复的设备并按删除后,我能够恢复我的设备下拉菜单的顺序
【讨论】:
以上是关于ios模拟器在xcode 6中出现UDID的主要内容,如果未能解决你的问题,请参考以下文章
Xcode 6.4 iOS 设备/模拟器和方案选项在 OS X El capitan 中消失