plu / simctl

Ruby interface to xcrun simctl
http://www.rubydoc.info/gems/simctl
MIT License
104 stars 19 forks source link

Calling device.runtime throws exception for runtimes that are not installed #24

Open dflems opened 6 years ago

dflems commented 6 years ago

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.

UnsafePointer commented 6 years ago

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.