Search code examples
iosrubydevicecalabashcalabash-ios

Cannot specified a device when running calabash-ios with Xamarin


I have an issue that appears on one computer but on the other it is working fine.

I’m running calabash-ios with Xamarin and get the error:

`No device_target was specified and did not detect a connected device. Set a device_target option in the relaunch method. (RuntimeError)
/Library/Ruby/Gems/2.0.0/gems/calabash-cucumber-0.14.0/lib/calabash-cucumber/launcher.rb:683:in default_uia_strategy'
/Library/Ruby/Gems/2.0.0/gems/calabash-cucumber-0.14.0/lib/calabash-cucumber/launcher.rb:626:in relaunch'`

I ran xcrun instruments -s devices and got the below list:

`…
iPhone 6 (9.0) [9E580CB5-8F55-43B5-AC50-05C6C38BC4E0]
iPhone 6 (9.0) + Apple Watch - 38mm (2.0) [C1326499-01E6-4EC5-9AF5-477A745C0089]
iPhone 6 Plus (8.3) [8BFA71F1-65B2-43C3-BDC6-7EF255C000F8]
…`

then:

`APP_BUNDLE_PATH=”<project path>/<file>.app”`

And then:

`DEVICE_TARGET="iPhone 6 (9.0)" cucumber`

On one computer it launched the simulator and ran the app, but on the other one it get the above error.

Any idea what I missed and where to start looking?


Solution

  • You should update your Test Cloud Agent to at least 0.16.2 which is compatible with iOS 9 and Xcode 7. I think this is the cause of the error.

    I believe there is a 0.16.4 TCA release on the horizon and 0.17.0 is not far behind.

    re: capital letters.

    I think I see the problem now.

    $ MY_VAR="Hey!"
    $ echo $MY_VAR
    "" <== the empty string
    
    $ MY_VAR="Hey!" echo $MY_VAR
    Hey!
    
    $ export MY_VAR="Hey!"
    $ echo $MY_VAR
    Hey!
    
    $ APP=/path/to/Your.app DEVICE_TARGET="iPhone 6 (9.0)" cucumber
    

    APP and APP_BUNDLE_PATH are equivalent.