Unable to launch safari on real device using appium

we are using following capabilities and
xcode 7.3,
appium 1.5.3,
iphone 9.3.2,
iphone 6,
mac 10.11.4
capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, “iOS”);
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, “VBS’s iPhone”);
capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, “9.3”);
capabilities.setCapability(MobileCapabilityType.UDID, “4a7dd4dedca3b7d0f780e4827b27e91fcfe22f1d”);
capabilities.setCapability(MobileCapabilityType.BROWSER_NAME, “Safari”);

Error is : [TestNG] Running:
/private/var/folders/py/kgvfbnsd4dl8xvx3nktsh6p00000gn/T/testng-eclipse–1412160919/testng-customsuite.xml

close
Method = closeBrowser() = *No Browser to Close
FAILED: EB_New_Used_Ship_Credit
org.openqa.selenium.WebDriverException: An unknown server-side error occurred while processing the command. Original error: Bad app: /Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-ios-driver/build/SafariLauncher/SafariLauncher.app. App paths need to be absolute, or relative to the appium server install dir, or a URL to compressed file, or a special app name. (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 183 milliseconds
Build info: version: ‘2.51.0’, revision: ‘1af067dbcaedd7d2ab9af5151fc471d363d97193’, time: ‘2016-02-05 11:20:57’
System info: host: ‘vbs-chd-nb96.vserv-it.com’, ip: ‘172.17.3.98’, os.name: ‘Mac OS X’, os.arch: ‘x86_64’, os.version: ‘10.11.4’, java.version: ‘1.8.0_60’
Driver info: io.appium.java_client.ios.IOSDriver
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678)
at io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:42)
at io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1)
at io.appium.java_client.ios.IOSDriver.execute(IOSDriver.java:1)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:249)
at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:131)
at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:144)
at io.appium.java_client.DefaultGenericMobileDriver.(DefaultGenericMobileDriver.java:37)
at io.appium.java_client.AppiumDriver.(AppiumDriver.java:161)
at io.appium.java_client.AppiumDriver.(AppiumDriver.java:170)
at io.appium.java_client.ios.IOSDriver.(IOSDriver.java:57)
at BusinessRules.Core.Launch_Browser(Core.java:86)
at com.eFollett.Smoke_Test.Opt_Critical_Test_01.EB_New_Used_Ship_Credit(Opt_Critical_Test_01.java:53)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:86)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:645)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:822)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1130)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
at org.testng.TestRunner.privateRun(TestRunner.java:782)
at org.testng.TestRunner.run(TestRunner.java:632)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:366)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:361)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:319)
at org.testng.SuiteRunner.run(SuiteRunner.java:268)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1244)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1169)
at org.testng.TestNG.run(TestNG.java:1064)
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:113)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:206)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:177)

===============================================
Default test
Tests run: 1, Failures: 1, Skips: 0

===============================================
Default suite
Total tests run: 1, Failures: 1, Skips: 0

[TestNG] Time taken by BusinessRules.Report@42d80b78: 7 ms
[TestNG] Time taken by org.testng.reporters.jq.Main@77afea7d: 23 ms
[TestNG] Time taken by org.testng.reporters.JUnitReportReporter@3339ad8e: 3 ms
[TestNG] Time taken by org.testng.reporters.EmailableReporter2@3cd1f1c8: 4 ms
[TestNG] Time taken by org.testng.reporters.SuiteHTMLReporter@75828a0f: 6 ms
[TestNG] Time taken by [FailedReporter passed=0 failed=0 skipped=0]: 4 ms
[TestNG] Time taken by org.testng.reporters.XMLReporter@5679c6c6: 4 ms

I see you are missing SafariLauncher.app file to launch the safari in real iOS device. Try to follow the steps as documented here: