simctl
simctl copied to clipboard
Calling device.runtime throws exception for runtimes that are not installed
If you have old simulators from an earlier version of Xcode and no longer have that runtime installed, calling device.runtime
will throw an exception:
SimCtl::RuntimeNotFound: Could not find a runtime matching {:identifier=>"com.apple.CoreSimulator.SimRuntime.iOS-11-1"}
I'm not sure what the "correct" behavior is here. The simulator exists (has a directory on-disk and is reported by simctl
), but has an invalid runtime.
Yeah I've noticed this too when running tests in a computer that doesn't have all the required Xcode versions installed. What would you suggest instead of raising an exception? A nil value would be confusing in my opinion.