Skip to content

Hot Topics

Joshua Moody edited this page Sep 13, 2016 · 50 revisions

The topics on this page change regularly.

Beware of linking directly to topic headers.

Contents

  • DeviceAgent Topics
  • Errno::EINTR: Interrupted system call AKA RunLoop::Fifo::NoReaderConfiguredError

Errno::EINTR: Interrupted system call

The problem appears on Xcode < 8.

See the discussion here: https://github.com/calabash/run_loop/issues/35

This is an active issue; no comprehensive solution exists yet.

You can see this error if:

  1. The bundle identifier is incorrect.
  2. The app was not signed with a developer certificate.
  3. 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.
  4. 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.
  5. The device should appear in Xcode's Devices window (Shift + Command + 2) without a yellow warning.
  6. The device must appear in Xcode's Scheme > Target device list as eligible. See below for a screenshot.

To work around issue 2, either rebuild the app using a developer provisioning profile via Xcode, or resign the app using a developer certificate / provisioning profile. See Apple Developer for more information.

To work-around 4, 5, and 6, you can try plugging the problem device into another Mac that is running Yosemite and the latest (non-beta) version of Xcode.

Requesting Feedback

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]

Testing if the Device is Enabled for Development
  1. Connect the device via USB.
  2. Open Instruments.app for your current version of Xcode.
  3. Select the Automation template
  4. 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.

image


Example of an Ineligible Device

image

Clone this wiki locally