How to check device id of iPhone simulator?
I want to check device id for my iPhone simulator application. But not using codebase. I know the way how to do with codebase, using UIDevice instance.
Is there any way to find device id without using codebase?
Solution 1:
EDIT: See other answers for the newer ways to view UDIDs for CoreSimulator
-based simulators.
instruments -s devices
xcrun simctl list
- From Xcode: Window -> Devices and Simulators -> Simulators.
The
Identifier
value is the UDID.
From 2011:
Is the iPhone Simulator UDID unique for each installed instance?
This answer should be what you want. Look at System Profiler on your mac and the id is there. I just tested on my machine and the IDs match.
This is the exact Terminal command you can enter to view it:
system_profiler SPHardwareDataType
Solution 2:
Try this
instruments -s devices
Solution 3:
As so often, there is a Xcode terminal tool for that (part of the Xcode tools) see xcrun manpage
xcrun simctl list | egrep '(Booted)'
lists only all booted (could be more than one) Simulators
(remove | egrep '(Booted)'
to see them all).
UIID results like
iPhone 6 Plus (AAAABD40-9DE6-44B7-A4EA-B34ABCDEFCA6) (Booted)
you can then lookup a folder in ~/Library/Developer/CoreSimulator/Devices
on your Mac and find all the "belongings" of that particular Simulator
Solution 4:
You can also retrieve the same UDID, labeled as "Identifier". In the Xcode Window menu, select Devices and Simulators: then select the Simulators tab:
Solution 5:
You can search for just the booted devices and get the iOS version (different from @TiBooX's answer which just shows the active devices). You also don't need to use grep
, you can just use the built in functionality of xcrun
:
$ xcrun simctl list 'devices' 'booted'
Which will print out something like:
== 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 --
I would recommend adding the following alias to your .bashrc
or .zshrc
:
# Get the active simulator with
alias active-sims="xcrun simctl list 'devices' 'booted'"
This way you can just run active-sims
without remembering the entire line every time.