See the discussion here: calabash/run_loop#35
This is an active issue; no comprehensive solution exists yet.
You can see this error if:
- The bundle identifier is incorrect.
- The device is not enabled for UIAutomation. Starting in iOS 8, you must enable UIAutomation on the device using the switch in Settings.app > Developer > Enable UIAutomation.
- The device is not enabled for development. We have observed that devices can change from enabled to disabled for development when migrating from iOS 7 to iOS 8 and between iOS 8 betas. The best practice is to restart the device after migrating. See instructions below for verifying that your device is enabled using the Instruments.app.
- The device should appear in Xcode's Devices window (Shift + Command + 2) without a yellow warning.
- The device must appear in Xcode's Scheme > Target device list as eligible. See below for a screenshot.
To work-around 3, 4, and 5, you can try plugging the problem device into another Mac that is running Yosemite and the latest (non-beta) version of Xcode.
There is a simple, definitive test to determine if the Xcode toolchain or Calabash is blame. [1] Please report results in the run-loop GitHub issue. [2]
- Connect the device via USB.
- Open Instruments.app for your current version of Xcode.
- Select the Automation template
- In the top left corner of the window, select your device and the a target application.
If your device is not enabled for development, Instruments.app will tell you to open Xcode to enable the device for development.