Appium 1.4.0, 8.3 ==> simulator launched, but still get error -The environment you requested was unavailable

I have problem to run tests for iOS 8.3 with Appium 1.4.0 – cannot even load appium tests; but I could still run my tests on iOS 8.2 with Appium 1.4.0

I’m getting the following error, even though I could see the iOS 8.3 iPhone 6 simulator loads up correctly.

but if I switched to Appium 1.3.7 (I kept 1.3.7 and 1.4.0 in different places) , I would be able to load the tests in iOS 8.3, and I’ll run into other problems, but this not surprise me, since 1.3.7 not officially support iOS 8.3
“appium-version”: “1.3.7”,
// “appium-version”: “1.4.0”,
“platformName”: “iOS”,
“platformVersion”: “8.3”,
“deviceName”: “iPhone 6”,
“app”: “”

app is set separately later

 Error: [init({"appium-version":"1.4.0","platformName":"iOS","platformVersion":"8.3","deviceName":"iPhone 6","sendKeyStrategy":"setValue","app":"/Users/@#$%%%/"})] The environment you requested was unavailable.
  at /Users/abc/workspace/test-ios-testapp/node_modules/wd/lib/webdriver.js:129:15

I could see the testing app loads up correctly after the POST line…

CALL init({“appium-version”:“1.4.0”,“platformName”:“iOS”,“platformVersion”:“8.3”,“deviceName”:“iPhone 6 Plus”,“app”:“/Users/a/Desktop/build/Debug-iphonesimulator/”})
POST /session {“desiredCapabilities”:{“appium-version”:“1.4.0”,“platformName”:“iOS”,“platformVersion”:“8.3”,“deviceName”:“iPhone 6 Plus”,“app”:“/Users/ipipiopii/”}}

But will get the following Appium server error:

info: [debug] Condition unmet after 10662ms. Timing out.
info: [debug] Cleaning up appium session
error: Failed to start an Appium session, err was: Error: App did not have elements
info: [debug] Error: App did not have elements
at /usr/local/lib/node_modules/appium/lib/devices/ios/ios.js:483:30
at Object.cb [as callback] (/usr/local/lib/node_modules/appium/lib/devices/ios/ios-controller.js:261:7)
at next (/usr/local/lib/node_modules/appium/node_modules/async/lib/async.js:801:43)
at /usr/local/lib/node_modules/appium/node_modules/async/lib/async.js:32:16
at [object Object].exports.respond (/usr/local/lib/node_modules/appium/lib/devices/common.js:28:9)
at [object Object]. (/usr/local/lib/node_modules/appium/lib/devices/ios/ios.js:1473:18)
at getResultAndSendNext (/usr/local/lib/node_modules/appium/node_modules/appium-uiauto/lib/command-proxy.js:146:20)
at Socket. (/usr/local/lib/node_modules/appium/node_modules/appium-uiauto/lib/command-proxy.js:88:7)
at Socket.emit (events.js:129:20)
at _stream_readable.js:908:16
at process._tickDomainCallback (node.js:381:11)
info: [debug] Responding to client with error: {“status”:33,“value”:{“message”:“A new session could not be created. (Original error: App did not have elements)”,“origValue”:“App did not have elements”},“sessionId”:null}
info: ← POST /wd/hub/session 500 21905.666 ms - 172

can anyone please give some helps here? thanks!