Hello,
Previously I posted simulator 9.1 runtime not found although it is installed in the system. (https://developer.apple.com/forums/thread/723603)
I found out there is a command xcrun simctl runtime match set
to designate simulator runtime for current Xcode.
I also figured out the fact that watchos 9.1 simulator runtimes for Xcode 14.1 and 14.2 always indicate 20S71
, which is patched to 20S75
for now.
(We can check downloadable simulators list from https://devimages-cdn.apple.com/downloads/xcode/simulators/index2.dvtdownloadableindex )
$ sudo xcode-select -s /Applications/Xcode/Xcode_14.1.app
$ xcrun simctl runtime match list
== Evaluation Results ==
appletvos16.1:
SDK Version: 16.1
SDK Build: 20K67
Platform: com.apple.platform.appletvos
Chosen Runtime: tvOS 16.1 (16.1 - 20K67) - com.apple.CoreSimulator.SimRuntime.tvOS-16-1
User Override: (null)
Preferred: (null)
Default: tvOS 16.1 (16.1 - 20K67) - com.apple.CoreSimulator.SimRuntime.tvOS-16-1
iphoneos16.1:
SDK Version: 16.1
SDK Build: 20B71
Platform: com.apple.platform.iphoneos
Chosen Runtime: iOS 16.1 (16.1 - 20B72) - com.apple.CoreSimulator.SimRuntime.iOS-16-1
User Override: (null)
Preferred: (null)
Default: iOS 16.1 (16.1 - 20B72) - com.apple.CoreSimulator.SimRuntime.iOS-16-1
watchos9.1:
SDK Version: 9.1
SDK Build: 20S71
Platform: com.apple.platform.watchos
Chosen Runtime: 20S71
User Override: (null)
Preferred: (null)
Default: 20S71
$ xcode-select -p
/Applications/Xcode/Xcode_14.2.app/Contents/Developer
$ xcrun simctl runtime match list
== Evaluation Results ==
appletvos16.1:
SDK Version: 16.1
SDK Build: 20K67
Platform: com.apple.platform.appletvos
Chosen Runtime: tvOS 16.1 (16.1 - 20K67) - com.apple.CoreSimulator.SimRuntime.tvOS-16-1
User Override: (null)
Preferred: (null)
Default: tvOS 16.1 (16.1 - 20K67) - com.apple.CoreSimulator.SimRuntime.tvOS-16-1
iphoneos16.2:
SDK Version: 16.2
SDK Build: 20C52
Platform: com.apple.platform.iphoneos
Chosen Runtime: iOS 16.2 (16.2 - 20C52) - com.apple.CoreSimulator.SimRuntime.iOS-16-2
User Override: (null)
Preferred: (null)
Default: iOS 16.2 (16.2 - 20C52) - com.apple.CoreSimulator.SimRuntime.iOS-16-2
watchos9.1:
SDK Version: 9.1
SDK Build: 20S71
Platform: com.apple.platform.watchos
Chosen Runtime: 20S71
User Override: (null)
Preferred: (null)
Default: 20S71
$ xcode-select -p
/Applications/Xcode/Xcode_14.3.1_Release_Candidate.app/Contents/Developer
$ xcrun simctl runtime match list
== Evaluation Results ==
appletvos16.4:
SDK Version: 16.4
SDK Build: 20L489
Platform: com.apple.platform.appletvos
Chosen Runtime: 20L489
User Override: (null)
Preferred: (null)
Default: 20L489
iphoneos16.4:
SDK Version: 16.4
SDK Build: 20E238
Platform: com.apple.platform.iphoneos
Chosen Runtime: iOS 16.4 (16.4 - 20E247) - com.apple.CoreSimulator.SimRuntime.iOS-16-4
User Override: (null)
Preferred: (null)
Default: iOS 16.4 (16.4 - 20E247) - com.apple.CoreSimulator.SimRuntime.iOS-16-4
watchos9.4:
SDK Version: 9.4
SDK Build: 20T248
Platform: com.apple.platform.watchos
Chosen Runtime: 20T248
User Override: (null)
Preferred: (null)
Default: 20T248
and I assume that the problem I suffered from (watchOS 9.1 not installed error but simulators and runtime already installed in Mac) is recurring because the watchOS runtime for Xcode 14.1/14.2 is frequently returned to default when reset or switch to other versions of Xcode, even though the user forced to choose a certain SDK version.
What I want to know is:
-
What file does contain the data of
xcrun simctl runtime match list
? Where is it? -
Is there any reason or factor for runtime to be set to default? I am in the team running macOS as CI server.
-
Can I use watchOS 9.x Simulator runtimes while using Xcode 14.2, other than 9.1?
Thanks in advance.