Calabash can't connect to simulator - ios

I'm trying to run some Calabash UI tests in my app but am running into trouble connecting to my simulator. I'm trying to just connect view the calabash-ios console, but am running into the following error:
WARNING
Warning Trying to connect to simulator that was not launched by Calabash/instruments.
To fix this you must let Calabash or instruments launch the app.
Query will work, but gestures will not.
I've run the app view my -cal target and have successfully seen the message Started LPHTTP server on port 37265. Here's some more info on Calabash/my setup:
xcode-select --print-path
/Applications/Xcode.app/Contents/Developer
xcodebuild -version
Xcode 7.0
Build version 7A218
calabash-ios version
0.14.3
server_version
=> {"app_id"=>"com.solstice.discoverfinancialenterprise.mobile", "outcome"=>"SUCCESS", "server_port"=>37265, "version"=>"0.14.3", "app_name"=>"Discover", "system"=>"x86_64", "simulator_device"=>"iPhone", "simulator"=>"", "app_version"=>"1", "short_version_string"=>"6.6.1 UAT", "iphone_app_emulated_on_ipad"=>false, "app_base_sdk"=>"iphonesimulator9.0", "form_factor"=>"iphone 4in", "git"=>{"revision"=>"c2d009b", "remote_origin"=>"git#github.com:calabash/calabash-ios-server.git", "branch"=>"master"}, "screen_dimensions"=>{"sample"=>1, "height"=>1136, "width"=>640, "scale"=>2}, "4inch"=>true, "iOS_version"=>"8.4"}
Sorry the JSON isn't formatted, my console spat it out in an unformatted way.
I've used a few different simulators, iPhone 6, iOS 9 and iOS 8.3, and an iPhone 5s iOS 8.4. Does anyone know anything I need to do differently to get this to connect to my simulator?

+100 for including all the information about your environment.
Please update to Calabash 0.16.4 which is compatible with your Xcode version.
I'm trying to just connect view the calabash-ios console, but am running into the following error:
Can you show how you launched console and what command you tried to run?
Typically, you want something like this:
$ APP=/path/to/Your.app calabash-ios console
> start_test_server_in_background
You must let calabash launch the app or you will not be able to perform gestures.
APP and APP_BUNDLE_PATH are synonymous.
http://calabashapi.xamarin.com/ios/file.ENVIRONMENT_VARIABLES.html#label-APP+and+APP_BUNDLE_PATH

Related

Attach lldb to iPhone from command line

While attaching lldb to iPhone works from within Xcode. It is flaky at times. I wonder if it is because XCode has some additional checks before attaching to a process in iPhone. I'd like to debug an iPhone app from command line. lldb has some tutorial that suggest using platform select but that command is unsuccessful in even connecting.
$ (lldb) platform select remote-ios
Platform: remote-ios
Connected: no
Am I missing something?
This question has been asked earlier but has no correct answers:
Debugging iPhone App from Command Line
Attach LLDB to app on iPhone connected to computer - Command line
Probably the easiest way to do this is using ios-deploy e.g.
ios-deploy --bundle=<bundle.app> --debug
The above command will install your application bundle to the attached iOS device, and launch it with an lldb session connected.

Not able to launch app in iOS simulator in vscode

I am new to vscode, I tried running my code in iOS simulator but its not showing the simulator in the first place.
the options i get are
view android emulators
view iOS simulators
But when I click on view iOS simulators I get a pop up saying
" Something went wrong fetching you iOS simulators! Make sure you have Xcode installed. Try running this command in your terminal: instruments -s devices "
You may need to run this command, when VSCode tries access the simulator there may be error which says
Cannot find "xcodebuild". Xcode 11.0.0 or greater is required to
develop for iOS. Encountered error while building for device.
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer

Xcode 9.1 with fastlane not running headless

I'm running fastlane scan for our UI Tests on a iPad Air 2 iOS 11 simulator and my understanding from this article https://dzone.com/articles/new-xcuitest-features-with-xcode-9-hands-on-explor is that it should run headless automatically.
But it's launching the simulator every time. Is there a xcargs that needs passed to make it run headless.
I don't see anything in the fastlane docs for scan that relates to headless.
Just close the simulator application before you run xcodebuild. Conversely, if you want to see the simulator during tests, start the simulator beforehand via Xcode -> Open Developer Tool -> Simulator.

How to start Meteor app on specific iOS simulator

After my Xcode upgraded to version 7.3 I'm not able to start my Meteor apps on simulators other then iPhone-6s-Plus. When I enter command
meteor run ios
having no any simulator running it automatically starts iPhone-6s-Plus. But if I start some other simulator using Xcode then that's what I get trying to run app (using --verbose)
No target specified for emulator. Deploying to iPhone-6s-Plus, 9.3
simulator
** RUN SUCCEEDED **
An error was encountered processing the command
(domain=com.apple.CoreSimulator.SimError, code=159): Invalid device
state
How I can run my apps on any other simulator then iPhone-6s-Plus?
OK, seems it is normal behaviour with Meteor v1.3 described in documentation: http://guide.meteor.com/mobile.html#running-your-app
Currently, this will always run your app on a simulated iPhone 6s
Plus. Use ios-device to open Xcode and select another simulator
instead.
So command
meteor run ios-device
will open generated iOS project in Xcode where you will be able to select any other simulator or connected device.

How to debug an iOS app with lldb on the command line on a device without Xcode

Is is possible to launch and debug one of my iOS apps in development on an iPhone (or other iOS device) without using Xcode?
I would like to do this from the command line using lldb.
I figure that since it can be done with Xcode that it may be possible to debug strictly from within the terminal.
ios-deploy can do that.
brew install node
npm install -g ios-deploy
ios-deploy -d -W -b path/to/foo.app
It will copy the app bundle to your connected device, launch the app, and start an lldb session for the app.
I just tested it right now. OSX 10.12.6, iOS 11.0.2, Xcode 9.0.1.
it is possible to debug your app without using xcode on a jailbroken device all you need is to add entitlements on debug server if you wish to debug apps you did not build , there is a great explanation here http://iphonedevwiki.net/index.php/Debugserver , once you attached to the process on the device just launch lldb on your computer and debug

Resources