【发布时间】:2011-10-20 14:30:31
【问题描述】:
我想检查我的 iPhone 模拟器应用程序的设备 ID。但不使用代码库。我知道如何使用 UIDevice 实例来处理代码库。
有什么方法可以在不使用代码库的情况下找到设备 ID?
【问题讨论】:
标签: ios iphone ios-simulator
我想检查我的 iPhone 模拟器应用程序的设备 ID。但不使用代码库。我知道如何使用 UIDevice 实例来处理代码库。
有什么方法可以在不使用代码库的情况下找到设备 ID?
【问题讨论】:
标签: ios iphone ios-simulator
编辑:查看其他答案以了解查看基于 CoreSimulator 的模拟器的 UDID 的新方法。
instruments -s devicesxcrun simctl listIdentifier 值是 UDID。从 2011 年开始:
Is the iPhone Simulator UDID unique for each installed instance?
这个答案应该是你想要的。在你的 Mac 上查看 System Profiler,id 就在那里。我刚刚在我的机器上测试,ID 匹配。
这是您可以输入查看的确切终端命令:
system_profiler SPHardwareDataType
【讨论】:
~/Library/Developer/CoreSimulator/Devices/[ID] 中设备路径的ID。这个答案对我有用:stackoverflow.com/a/42649929/62.
CoreSimulator 文件夹结构,可以在其中创建多个不同的模拟器,每个模拟器都有自己的 UUID。
试试这个
instruments -s devices
【讨论】:
xcrun simctl list 的简短版本,我推荐 xcrun simctrl 仅当您需要更多信息时,例如关于每个模拟器实例的“启动”状态(打开窗口)。编写了一个不错的 AppleScript 来将它们重置为出厂状态(包括钥匙串)。
instruments -s devices,它说 instruments 现在已弃用,取而代之的是 'xcrun xctrace' --> xcrun xctrace list devices
通常,有一个 Xcode 终端工具 (Xcode 工具 的一部分) 请参阅xcrun 手册页
xcrun simctl list | egrep '(Booted)'
仅列出所有已启动(可能不止一个)的模拟器
(删除 | egrep '(Booted)' 以查看所有内容)。
UIID 结果如
iPhone 6 Plus (AAAABD40-9DE6-44B7-A4EA-B34ABCDEFCA6) (Booted)
然后,您可以在 Mac 上的 ~/Library/Developer/CoreSimulator/Devices 中查找文件夹并找到该特定模拟器的所有“物品”
【讨论】:
您可以仅搜索已启动的设备并获取 iOS 版本(与 @TiBooX 的答案不同,后者仅显示活动设备)。你也不需要使用grep,你可以使用xcrun的内置功能:
$ xcrun simctl list 'devices' 'booted'
这将打印出如下内容:
== Devices ==
-- iOS 10.3 --
-- iOS 11.4 --
-- iOS 12.4 --
-- iOS 13.4 --
iPhone 11 Pro (A5DEEA78-1E82-472E-B7CC-FFD27741CDA2) (Booted)
-- tvOS 13.4 --
-- watchOS 6.2 --
我建议将以下别名添加到您的 .bashrc 或 .zshrc:
# Get the active simulator with
alias active-sims="xcrun simctl list 'devices' 'booted'"
这样您就可以只运行active-sims 而无需每次都记住整行。
【讨论】:
Xcode -> Window -> Devices and Simulators -> 选择你想要标识符的设备(里面的细节你可以看到标识符)
【讨论】:
您可以通过导航到与您的台式机相同的主页/设置/常规/关于/序列号来直观地查看模拟器中的值。您可以通过导航到 Apple/About This Mac 并单击 OS X 下的操作系统版本号来验证这一点(显示屏将更改以指示您的 UDID - 您可能需要单击两次)。
【讨论】:
还有一种不使用命令行的方法,在这个 plist 文件 ~/Library/Developer/CoreSimulator/Devices/device_set.plist 中,它列出了所有具有 UUID 的设备。
【讨论】: