appium: After upgrading to 1.2.2 (from 1.2.1), fail to start iOS device log capture via deviceconsole

After upgrading to 1.2.2 (from 1.2.1), fail to start iOS device log capture via deviceconsole.

info: [debug] Starting iOS device log capture via deviceconsole
error: iOS log capture failed: spawn ENOENT
info: [debug] Cleaning up appium session
error: Failed to start an Appium session, err was: Error: spawn ENOENT
info: [debug] Error: spawn ENOENT
    at errnoException (child_process.js:1000:11)
    at Process.ChildProcess._handle.onexit (child_process.js:791:34)
info: [debug] Responding to client with error: {"status":33,"value":{"message":"A new session could not be created. (Original  error: spawn ENOENT)","code":"ENOENT","errno":"ENOENT","syscall":"spawn","origValue":"spawn ENOENT"},"sessionId":null}
info: <-- POST /wd/hub/session 500 1780.745 ms - 197

After investigating the source code lib/devices/ios/ios-log.js, I find the error was caused by the absence of the executable devicesyslog.

$ cd /usr/local/lib/node_modules/appium/build/deviceconsole/
$ ls -1
Makefile
MobileDevice.framework
MobileDevice.h
deviceconsole.xcodeproj
main.c

So I compile it manually and the issue gets resolved. I think this step (compilation) should be done automatically.

About this issue

  • Original URL
  • State: closed
  • Created 10 years ago
  • Comments: 45 (9 by maintainers)

Most upvoted comments

Hi All, I am using appium 1.4.8, I tried all the methods mentioned above, but I cannot see Deviceconsole.xcodeproject in under my deviceconsole folder, there is only one executable file named “deviceconsole”.What should I do?