Hi @Aleksei @pavanbachu Thanks for your support! 
I am trying to invoke iOSDriver through java code before that Appium server has already been started ->
[Appium] Welcome to Appium v1.6.0
[Appium] Non-default server args:
[Appium] address: '127.0.0.1'
[Appium] Appium REST http interface listener started on 127.0.0.1:4723
[HTTP] --> GET /wd/hub/status {}
[MJSONWP] Calling AppiumDriver.getStatus() with args: []
[MJSONWP] Responding to client with driver.getStatus() result: {"build":{"version":"1.6.0"...
**[HTTP] <-- GET /wd/hub/status 200 50 ms - 83 **
Appium server has started..
Now when invoking iOS drivers through following code :->
else if(platformInfoObject.PlatformName.equalsIgnoreCase("iOS")){
AppiumDriver<WebElement> driver = null;
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("automationName", "XCUITest");
capabilities.setCapability("platformName", platformInfoObject.PlatformName);
capabilities.setCapability("platformVersion", "9.3.5");
capabilities.setCapability("deviceName", "OIT-MIO00038");
capabilities.setCapability("udid", platformInfoObject.PlatformID);
capabilities.setCapability("newCommandTimeout", 900);
capabilities.setCapability("bundleId", "com.YYYYYY.XXXXXX");
capabilities.setCapability("autoAcceptAlerts", true);
capabilities.setCapability("noReset", true);
capabilities.setCapability("app", platformInfoObject.AppPath);
driver = new IOSDriver<WebElement>(new URL("http://"+platformInfoObject.ServerURL+":"+platformInfoObject.ServerPortNumber+"/wd/hub"), capabilities);
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
return driver;
}
I am getting the following errors :
Nov 07, 2016 8:56:08 AM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Attempting bi-dialect session, assuming Postel's Law holds true on the remote end
[HTTP] --> POST /wd/hub/session {"capabilities":{"desiredCapabilities":{"app":"/Volumes/Automation/XXXXXX.ipa","platformVersion":"9.3.5","automationName":"XCUITest","bundleId":"com.YYYYYY.XXXXXX","platformName":"iOS","udid":"79XXXb8985cXXXXXXXXXXX2320eXXXXXXXXXXX3121c","deviceName":"OIT-MIO00038"},"requiredCapabilities":null},"desiredCapabilities":{"app":"/Volumes/Automation/XXXXXX.ipa","platformVersion":"9.3.5","automationName":"XCUITest","bundleId":"com.YYYYYY.XXXXXX","platformName":"iOS","udid":"79b89XXXXXXXXXXX7f32320eXXXXXXXXXXX3121c","deviceName":"OIT-MIO00038"},"requiredCapabilities":null}
[debug] [MJSONWP] Bad parameters: BadParametersError: Parameters were incorrect. We wanted {"required":["desiredCapabilities"],"optional":["requiredCapabilities","sessionId","id"]} and you sent ["capabilities","desiredCapabilities","requiredCapabilities"]
**[HTTP] <-- POST /wd/hub/session 400 4 ms - 201 **
Nov 07, 2016 8:56:09 AM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Falling back to straight W3C remote end connection
[HTTP] --> POST /wd/hub/session {"capabilities":{"desiredCapabilities":{"app":"/Volumes/Automation/XXXXXX.ipa","platformVersion":"9.3.5","automationName":"XCUITest","bundleId":"com.YYYYYY.XXXXXX","platformName":"iOS","udid":"79b8985cXXXXXXXXXXX2320ea6XXXXXXXXXXX21c","deviceName":"OIT-MIO00038"},"requiredCapabilities":null}}
[debug] [MJSONWP] Bad parameters: BadParametersError: Parameters were incorrect. We wanted {"required":["desiredCapabilities"],"optional":["requiredCapabilities","sessionId","id","sessionId","id"]} and you sent ["capabilities"]
**[HTTP] <-- POST /wd/hub/session 400 2 ms - 173 **
Nov 07, 2016 8:56:09 AM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Falling back to original OSS JSON Wire Protocol.
[HTTP] --> POST /wd/hub/session {"desiredCapabilities":{"app":"/Volumes/Automation/XXXXXX.ipa","platformVersion":"9.3.5","automationName":"XCUITest","bundleId":"com.YYYYYY.XXXXXX","platformName":"iOS","udid":"79b8985c23XXXXXXXXf32320eaXxXXXXXXXX121c","deviceName":"OIT-MIO00038"},"requiredCapabilities":null}
[MJSONWP] Calling AppiumDriver.createSession() with args: [{"app":"/Volumes/Automatio...
[Appium] Creating new XCUITestDriver session
[Appium] Capabilities:
[Appium] app: '/Volumes/Automation/XXXXXX.ipa'
[Appium] platformVersion: '9.3.5'
[Appium] automationName: 'XCUITest'
[Appium] bundleId: 'com.XXXXX.YYYYY'
[Appium] platformName: 'iOS'
[Appium] udid: '79b898XXXXX737f97f323QQQQQOOOOOKKKKK121c'
[Appium] deviceName: 'OIT-MIO00038'
[debug] [XCUITest] XCUITestDriver version: 2.0.26
[BaseDriver] Session created with session id: 7d523140-XXXX-49e0-XXXX-a8d2XXXXX822
[Xcode] Finding XcodePath by symlink because Error: Command 'xcode-select --print-path' errored out: Error: spawn xcode-select ENOENT
** at exports._errnoException (util.js:1026:11)**
** at Process.ChildProcess.handle.onexit (internal/childprocess.js:193:32)**
** at onErrorNT (internal/child_process.js:359:16)**
** at combinedTickCallback (internal/process/nexttick.js:74:11)**
** at process.tickCallback (internal/process/nexttick.js:98:9)**
[debug] [XCUITest] Xcode version set to '8.1'
[XCUITest] Error: Could not determine [debug] [XCUITest] Running iOS simulator reset flow
**[HTTP] <-- POST /wd/hub/session 500 230 ms - 172 **
iOS SDK version
** at Object.wrappedLogger.errorAndThrow (lib/logger.js:60:13)**
** at getAndCheckIosSdkVersion$ (lib/utils.js:54:9)**
** 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 throw**
** at GeneratorFunctionPrototype.invoke (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:136:37)**
** at process.tickCallback (internal/process/nexttick.js:103:7)**
** Error: Could not determine iOS SDK version**
** at Object.wrappedLogger.errorAndThrow (lib/logger.js:60:13)**
** at getAndCheckIosSdkVersion$ (lib/utils.js:54:9)**
** 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 throw**
** at GeneratorFunctionPrototype.invoke (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:136:37)**
** at process.tickCallback (internal/process/nexttick.js:103:7)**
It says "Could not determine iOS SDK version" via xcode-select --print-path
Whereas when i open terminal and check the above command i gives me the XCode installation dir. path as shown in the screenshot

Appium version : 1.6.0
iPhone version : 9.3.5 or 10.0.1
Xcode : 8.1
Mac OS : Sierra 10.12.1
The same framework works well with Android but facing issue in iOS.
Please help me to know what wrong i am doing?