4

I am trying to start up the test server in the calabash-ios console using start_test_server_in_background, but getting an error that it can't find the target's plist. I'm not sure what I'm doing wrong here, and I definitely see the Info.plist file in the built .app product.

irb(main):001:0> start_test_server_in_background
RuntimeError: plist 'com.desk.desk/Info.plist' does not exist - could not read
    from /Users/jforrest/.rvm/gems/ruby-2.1.2/gems/run_loop-1.2.0/lib/run_loop/plist_buddy.rb:126:in `build_plist_cmd'
    from /Users/jforrest/.rvm/gems/ruby-2.1.2/gems/run_loop-1.2.0/lib/run_loop/plist_buddy.rb:20:in `plist_read'
    from /Users/jforrest/.rvm/gems/ruby-2.1.2/gems/run_loop-1.2.0/lib/run_loop/lipo.rb:114:in `binary_path'
    from /Users/jforrest/.rvm/gems/ruby-2.1.2/gems/run_loop-1.2.0/lib/run_loop/lipo.rb:84:in `info'
    from /Users/jforrest/.rvm/gems/ruby-2.1.2/gems/run_loop-1.2.0/lib/run_loop/lipo.rb:65:in `expect_compatible_arch'
    from /Users/jforrest/.rvm/gems/ruby-2.1.2/gems/run_loop-1.2.0/lib/run_loop/core.rb:119:in `expect_compatible_simulator_architecture'
    from /Users/jforrest/.rvm/gems/ruby-2.1.2/gems/run_loop-1.2.0/lib/run_loop/core.rb:214:in `run_with_options'
    from /Users/jforrest/.rvm/gems/ruby-2.1.2/gems/run_loop-1.2.0/lib/run_loop/core.rb:793:in `run'
    from /Users/jforrest/.rvm/gems/ruby-2.1.2/gems/calabash-cucumber-0.12.0/lib/calabash-cucumber/launcher.rb:737:in `block in new_run_loop'
    from /Users/jforrest/.rvm/gems/ruby-2.1.2/gems/calabash-cucumber-0.12.0/lib/calabash-cucumber/launcher.rb:735:in `times'
    from /Users/jforrest/.rvm/gems/ruby-2.1.2/gems/calabash-cucumber-0.12.0/lib/calabash-cucumber/launcher.rb:735:in `new_run_loop'
    from /Users/jforrest/.rvm/gems/ruby-2.1.2/gems/calabash-cucumber-0.12.0/lib/calabash-cucumber/launcher.rb:610:in `relaunch'
    from /Users/jforrest/.rvm/gems/ruby-2.1.2/gems/calabash-cucumber-0.12.0/lib/calabash-cucumber/core.rb:849:in `start_test_server_in_background'
    from (irb):1
    from /Users/jforrest/.rvm/rubies/ruby-2.1.2/bin/irb:11:in `<main>'

My environment

irb(main):003:0> server_version['version']
"0.12.0"

calabash-ios version
0.12.0

xcodebuild -version
Xcode 6.1.1
Build version 6A2008a

xcode-select --print-path
/Applications/Xcode.app/Contents/Developer
Jamie Forrest
  • 10,895
  • 6
  • 51
  • 68
  • I had a similar issue today, and in my case the path that I expected to be correct wasn't. Looking at your error I see `com.desk.desk/Info.plist` as the path, not `com.desk.desk.app/Info.plist` for example. Also the path is not absolute, maybe that is an issue? – mokagio Jan 20 '15 at 09:18

2 Answers2

1

There is hopefully a real solution to this. But I had the same issue after I upgrade calabash today. For now I solved it by downgrading calabash cucumber to version 0.11.4 and run_loop downgraded to 1.1.0

So while it is not the real solution it should be enough to get you up an running again.

Lasse
  • 1,153
  • 1
  • 10
  • 21
0

It turns out that BUNDLE_ID is NOT the iOS app id, but instead the file path to the *.app directory of the built app. So in my case, instead of using:

BUNDLE_ID=com.ihs.froi DEVICE_TARGET=AB827448-274C-4B10-B8B4-A6A94544A328 cucumber

I used:

BUNDLE_ID=FirstReport.iOS/bin/iPhoneSimulator/Debug/FirstReport.iOS.app DEVICE_TARGET=AB827448-274C-4B10-B8B4-A6A94544A328 cucumber

and it worked fine.

user2395286
  • 457
  • 7
  • 18