Your Log shows safari browser is set
Note When you set Both App Path Safari Browser Capability
it will launch Browser first
[Appium] Creating new XCUITestDriver (v2.30.0) session
[Appium] Capabilities:
[Appium] browserName: 'Safari'
[Appium] platformName: 'iOS'
[Appium] deviceName: 'iPhone 6 plus'
[Appium] platformVersion: '10.1.1'
[Appium] udid: '***************************'
[debug] [XCUITest] XCUITestDriver version: 2.30.0
[BaseDriver] Session created with session id: 8fbea25e-6a23-4ca5-836c-b406f9af0da5
[debug] [XCUITest] Xcode version set to '8.2.1' (tools v8.3.0.0.1.1490382677)
[debug] [XCUITest] iOS SDK Version set to '10.2'
//Try this
System.out.println("Start to Test DC");
File app = new File("/Users/abc.ipa");
DesiredCapabilities caps= new DesiredCapabilities();
System.out.println("New Devices");
caps.setCapability("platformName", "IOS");
caps.setCapability("deviceName", 574765658856);
caps.setCapability("udid",548756785345));
caps.setCapability("app", app.getAbsolutePath());
caps.setCapability("automationName","XCUITest");
caps.setCapability("xcodeConfigFile","/Users/Desktop/abc.xcconfig");
caps.setCapability("platformName", "iOS");
caps.setCapability("platformVersion", "10.1.1");
driver=new IOSDriver<IOSElement>(new URL("http://127.0.0.1:4723/wd/hub"),caps);
driver.manage().timeouts().implicitlyWait(60, TimeUnit.DAYS.SECONDS);