Unable to run Appium with IOS: 'ENOENT, no such file or directory'

Howdy!

I’m running into an issue where I am able to execute Android tests but receive error when running IOS tests. I’ve reinstalled both Appium and Appium-Python-Client and still nothing. I was working with a virtualenv and changing some PYTHONPATHs but that was all done within the virtualenv and I have deactivated it long ago. 3 hours later I’m stumped, I have a habit of breaking things, but usually I can fix what I do. Not in this case… So here are my logs. Thanks in advance for any help!

env:
-Mac running latest Mavericks
-Appium 1.2.3
-Python-Client (latest via pip)
-xcode 5.1.1
-iOS Sim 7.1
-app name: companyApp.app (replaced actual name in logs for security reasons)

info: <-- POST /wd/hub/session 500 3855.694 ms - 362
info: --> POST /wd/hub/session {“desiredCapabilities”:{“platformVersion”:“7.1”,“deviceName”:“iOS Simulator”,“app”:"/Users/craig/companyApp.app",“platformName”:“iOS”,“newCommandTimeout”:“5000”}}
info: [debug] Using local app from desired caps: /Users/craig/companyApp.app
info: [debug] Creating new appium session 98ce09f6-f3bd-4d70-8e18-17f4af11377c
info: [debug] Removing any remaining instruments sockets
info: [debug] Cleaned up instruments socket /tmp/instruments_sock
info: [debug] Setting Xcode folder
info: [debug] Setting Xcode version
info: [debug] Setting iOS SDK Version
info: [debug] iOS SDK Version set to 7.1
info: [debug] Detecting automation tracetemplate
info: [debug] Not auto-detecting udid, running on sim
error: Could not parse plist file (as binary) at /Users/craig/companyApp.app/en.lproj/Localizable.strings
info: Will try to parse the plist file as XML
error: Could not parse plist file (as XML) at /Users/craig/companyApp.app/en.lproj/Localizable.strings
warn: Could not parse app Localizable.strings
info: [debug] Not setting locale
info: [debug] Creating instruments
info: [debug] Preparing uiauto bootstrap
info: [debug] Dynamic bootstrap dir: /Users/craig/Library/Application Support/appium/bootstrap
info: [debug] Dynamic env: {“nodePath”:"/usr/local/Cellar/node/0.10.29/bin/node",“commandProxyClientPath”:"/Users/craig/git/appium/node_modules/appium-uiauto/bin/command-proxy-client.js",“instrumentsSock”:"/tmp/instruments_sock",“interKeyDelay”:null,“justLoopInfinitely”:false,“autoAcceptAlerts”:false}
…o: [debug] Dynamic bootstrap code: // This file is automatically generated. Do not manually modify!
info: [debug] Dynamic bootstrap path: /Users/craig/Library/Application Support/appium/bootstrap/bootstrap-137ea8bd5612e1b5.js
info: [debug] Reusing dynamic bootstrap: /Users/craig/Library/Application Support/appium/bootstrap/bootstrap-137ea8bd5612e1b5.js
info: [debug] Fixing device was changed from:"
info: [debug] No iOS / app preferences to set
info: [debug] Starting iOS 7.* simulator log capture
info: [debug] Killing the simulator process
info: [debug] Killing any other simulator daemons
info: [debug] Checking whether instruments supports our device string
info: [debug] Getting list of devices instruments supports
info: [debug] Instruments is at: /Applications/Xcode.app/Contents/Developer/usr/bin/instruments
info: <-- POST /wd/hub/session - - ms - -
info: [debug] Fixing device was changed from:"
info: [debug] Cleaning app state.
info: [debug] No folders found to remove
info: [debug] Getting bundle ID from app
error: Could not parse plist file (as binary) at /Users/craig/companyApp.app/Info.plist
info: Will try to parse the plist file as XML
error: Could not parse plist file (as XML) at /Users/craig/companyApp.app/Info.plist
error: Could not get the bundleId from app.
error: Could not set the bundleId from app.
info: [debug] Cleaning up appium session
error: Failed to start an Appium session, err was: Error: ENOENT, no such file or directory ‘/Users/craig/companyApp.app/Info.plist’
info: [debug] Error: ENOENT, no such file or directory ‘/Users/craig/companyApp.app/Info.plist’
at Object.fs.openSync (fs.js:432:18)
at Object.fs.readFileSync (fs.js:289:15)
at Object.parseFileSync (/Users/craig/git/appium/node_modules/plist/lib/node.js:47:18)
at Object.deprecated [as parseFileSync] (util.js:77:15)
at parseXmlPlistFile (/Users/craig/git/appium/lib/devices/ios/ios.js:39:27)
at /Users/craig/git/appium/lib/devices/ios/ios.js:51:7
at /Users/craig/git/appium/node_modules/bplist-parser/bplistParser.js:29:25
at fs.js:207:20
at Object.oncomplete (fs.js:107:15)
info: [debug] Responding to client with error: {“status”:33,“value”:{“message”:“A new session could not be created. (Original error: ENOENT, no such file or directory ‘/Users/craig/companyApp.app/Info.plist’)”,“errno”:34,“code”:“ENOENT”,“path”:"/Users/craig/companyApp.app/Info.plist",“syscall”:“open”,“origValue”:“ENOENT, no such file or directory ‘/Users/craig/companyApp.app/Info.plist’”},“sessionId”:null}

Closing issue. My app was pointed at the wrong simulator, apparently my dev guys changed something w/o letting me know. Yay…

Hi,
Please can you help me with this. I am having same problem.

Thanks,
Divakar

Navigate to the to Xcode’s product folder of the project you’re working on. For me its:
/Users/craig/Library/Developer/Xcode/DerivedData/******-cnfaljaidotkobcultvbgdvqufby/Build/Products/
Run a quick build on Xcode and look for the most recently updated simulator file. There may be more than one that are timestamped within a minute or two, just try a few of the paths out and you should be golden.

Thanks solution given by you worked.

How to fix this?? I am using Mac Os 10.10.1 & Xcode 6.1 and

trying to launch the ios app through eclipse to perform some
testing but

getting this error dont
know how to reseolve this issue. I have updated

the appium to 1.3.4 but
still same. Tried to launch same ios app with

appium 1.3.3 GUI this app launches properly. Anyone can suggest

anything.

Above issue is observed with simulator 7.1,8.1 etc

By any chance can this be happening bcoz of “No signing
Identity found” in xcode

info: Welcome to Appium v1.3.4 (REV
056f5bd277987bed391aef04acf2be38ea161e50)

info: Appium REST http interface listener started on 0.0.0.0:4723

info: Console LogLevel: debug

info:

–> POST
/wd/hub/session

{“desiredCapabilities”:{“app”:"/Users/Anand/Library/Developer/Xcode/DerivedData/TestApp-dtutyhtjuncbbnhacstomnqkjttc/Build/Products/Debug-iphonesimulator/TestApp.app",“appium-version”:“1.0”,“platformVersion”:“7.1”,“browserName”:"",“platformName”:“iOS”,“udid”:“13FF8920-587E-4AF6-A3B9-AA32E81624EC”,“deviceName”:"iPhone

5s"}}

info: Client User-Agent string: Apache-HttpClient/4.3.4 (java
1.5)

info:

[debug] The following
desired capabilities were provided, but not

recognized by appium. They will be passed on to any other
services

running on this server. : appium-version

info: [debug] Using local

app from desired caps:

/Users/Anand/Library/Developer/Xcode/DerivedData/TestApp-dtutyhtjuncbbnhacstomnqkjttc/Build/Products/Debug-iphonesimulator/TestApp.app

info: [debug] Creating new appium session
2eb74755-4582-46cf-97b9-78b548cfa1b9

info: [debug] Removing any remaining instruments sockets

info: [debug] Cleaned up instruments socket
/tmp/instruments_sock

info: [debug] Setting Xcode folder

info: [debug] Setting Xcode version

info: [debug] Setting iOS SDK Version

info: [debug] Getting sdk version from xcrun with a timeout

info: [debug] iOS SDK Version set to 8.1

info: [debug] Not checking whether simulator is available since
we’re on a real device

info: [debug] Detecting automation tracetemplate

info: [debug] Not auto-detecting udid, running on sim

info:

[debug] Could not parse
plist file (as binary) at

/Users/Anand/Library/Developer/Xcode/DerivedData/TestApp-dtutyhtjuncbbnhacstomnqkjttc/Build/Products/Debug-iphonesimulator/TestApp.app/en.lproj/Localizable.strings

info: Will try to parse the plist file as XML

info:

[debug] Could not parse
plist file (as XML) at

/Users/Anand/Library/Developer/Xcode/DerivedData/TestApp-dtutyhtjuncbbnhacstomnqkjttc/Build/Products/Debug-iphonesimulator/TestApp.app/en.lproj/Localizable.strings

warn: Could not parse app Localizable.strings assuming it
doesn’t exist

info: [debug] Getting bundle ID from app

info: [debug] Parsed app Info.plist (as binary)

info: [debug] Creating instruments

info:

On some xcode 6
platforms, instruments-without-delay does not work. If

you experience this, you will need to re-run appium with the

–native-instruments-lib flag

info: [debug] Preparing uiauto bootstrap

info: [debug] Dynamic bootstrap dir:
/Users/Anand/Library/Application Support/appium/bootstrap

info:

[debug] Dynamic env:

{“nodePath”:"/usr/local/bin/node",“commandProxyClientPath”:"/Users/Anand/appium/node_modules/appium-uiauto/bin/command-proxy-client.js",“instrumentsSock”:"/tmp/instruments_sock",“interKeyDelay”:null,“justLoopInfinitely”:false,“autoAcceptAlerts”:false,“sendKeyStrategy”:“grouped”}

…o: [debug] Dynamic bootstrap code: // This file is
automatically generated. Do not manually modify!

info: [debug] Dynamic bootstrap path:
/Users/Anand/Library/Application
Support/appium/bootstrap/bootstrap-723f69bfa90dadc3.js

info: [debug] Reusing dynamic bootstrap:
/Users/Anand/Library/Application
Support/appium/bootstrap/bootstrap-723f69bfa90dadc3.js

info:

[debug] Getting device
string from opts:

{“forceIphone”:false,“forceIpad”:false,“xcodeVersion”:“6.1.1”,“iOSSDKVersion”:“8.1”,“deviceName”:"iPhone

5s",“platformVersion”:“7.1”}

info: [debug] fixDevice is on

info: [debug] Final device string is: ‘iPhone 5s (7.1
Simulator)’

info: [debug] Not setting device type since we’re on a real
device

info: [debug] Checking whether we need to set app preferences

info: [debug] Not setting iOS and app preferences since we’re on
a real device

info: [debug] Running ios sim reset flow

info: [debug] Killing the simulator process

info: [debug] Killall iOS Simulator

info: [debug] Killing any other simulator daemons

info: [debug] On a real device; cannot clean device state

info: [debug] Not setting locale because we’re using a real
device

info: [debug] No iOS / app preferences to set

info: [debug] Starting iOS device log capture via deviceconsole

error: Log capture did not start in a reasonable amount of time

info: [debug] Cleaning up appium session

error: Failed to start an Appium session, err was: Error: Log
capture did not start in a reasonable amount of time

info: [debug] Error: Log capture did not start in a reasonable
amount of time

at null._onTimeout

(/Users/Anand/appium/lib/devices/ios/ios-log.js:137:10)

at Timer.listOnTimeout

as ontimeout

info:

[debug] Responding to
client with error:

{“status”:33,“value”:{“message”:"A
new session could not be created.

(Original error: Log capture did not start in a reasonable
amount of

time)",“origValue”:"Log capture did not
start in a reasonable amount of

time"},“sessionId”:null}

info: <-- POST /wd/hub/session 500 11780.237 ms - 234

info: [debug] Not pre-launching simulator

info: [debug] Creating iDevice object with udid
13FF8920-587E-4AF6-A3B9-AA32E81624EC

info:

[debug] Couldn’t find
ideviceinstaller, trying built-in at

/Users/Anand/appium/build/libimobiledevice-macosx/ideviceinstaller

info:

[debug] Checking app
install status using:

/Users/Anand/appium/build/fruitstrap/fruitstrap isInstalled --id

13FF8920-587E-4AF6-A3B9-AA32E81624EC --bundle com.TestAppparking.mobile