I am trying your suggestions on a Mac setup. I was able to start up the appium server programmatically but a driver session could not be made. When I dug into the logs it is complaining that the capabilities are not proper as deviceName can't be null. But I am setting deviceName in the desired capabilities. Any inputs on these.
EDIT : There was a silly error in my code and I was able to fix that but now I am getting a different error. Attaching logs.
[Appium] Welcome to Appium v1.6.3 (REV f58265b0c3d15444b3ed8b046a020724be683f63)
[Appium] Appium REST http interface listener started on 0.0.0.0:4723
[HTTP] --> POST /wd/hub/session {"desiredCapabilities":{"app":"/Users/vikumar/Desktop/ShareConnect.zip","platformVersion":"9.3","automationName":"XCUITest","platformName":"iOS","udid":"dd5287b0c2c5c9a86b3144e5f6dbaa646744b835","deviceName":"iPad","fullReset":true}}
[debug] [MJSONWP] Calling AppiumDriver.createSession() with args: [{"app":"/Users/vikumar/Desktop/ShareConnect.zip","platformVersion":"9.3","automationName":"XCUITest","platformName":"iOS","udid":"dd5287b0c2c5c9a86b3144e5f6dbaa646744b835","deviceName":"iPad","fullReset":true},null,null,null,null]
[Appium] Creating new XCUITestDriver session
[Appium] Capabilities:
[Appium] app: '/Users/vikumar/Desktop/ShareConnect.zip'
[Appium] platformVersion: '9.3'
[Appium] automationName: 'XCUITest'
[Appium] platformName: 'iOS'
[Appium] udid: 'dd5287b0c2c5c9a86b3144e5f6dbaa646744b835'
[Appium] deviceName: 'iPad'
[Appium] fullReset: true
[debug] [XCUITest] XCUITestDriver version: 2.4.2
[BaseDriver] Session created with session id: 10f7e916-1665-48e0-a7f7-23b280ca2436
[debug] [XCUITest] Error: Could not get Xcode version. /Library/Developer/Info.plist does not exist on disk.
at getVersionWithoutRetry$ (lib/xcode.js:116:11)
at tryCatch (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:67:40)
at GeneratorFunctionPrototype.invoke as _invoke
at GeneratorFunctionPrototype.prototype.(anonymous function) as next
at GeneratorFunctionPrototype.invoke (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:136:37)
Error: Could not get Xcode version. /Library/Developer/Info.plist does not exist on disk.
at getVersionWithoutRetry$ (lib/xcode.js:116:11)
at tryCatch (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:67:40)
at GeneratorFunctionPrototype.invoke as _invoke
at GeneratorFunctionPrototype.prototype.(anonymous function) as next
at GeneratorFunctionPrototype.invoke (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:136:37)
Don't see this error when I run appium from command prompt. My env is as follows :
Mac book pro (sierra), appium : 1.6.3, java 1.8