Cannot launch Appium with IOS real device (worked before)

It worked normally before. But recently I can’t start Appium with iOS real devices anymore. My environment is as follow:

  • Appium 1.5.3
  • XCode 7.3.1
  • iOS 9.1
  • Mac OSX Capitan

And I use selenium and io.appium as follow:

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>2.53.0</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>io.appium</groupId>
    <artifactId>java-client</artifactId>
    <version>4.0.0</version>
</dependency>

I create driver with:

DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("deviceName", "testDevice");
appiumDriverLocal = new IOSDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);

Whenever I start the test, I always get this exception when creating iOSDriver:

org.openqa.selenium.WebDriverException: An unknown server-side error occurred while processing the command. Original error: Removing com.project.classname failed (WARNING: The server did not provide any stacktrace information)

Log file from Appium:

[debug] [iOS] Running ios real device reset flow
[debug] [iOS] Full reset requested. Will try to uninstall the app 'com.project.classname'.
[debug] [iOS] Creating iDevice object with udid 5571568ad437d17f705f6645d73ef78ea5e72e7b

[iOS] Could not remove 'com.project.classname' from device

[MJSONWP] Encountered internal error running command: Error: Removing com.project.classname failed
    at /Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-ios-driver/node_modules/node-idevice/main.js:145:6
    at ChildProcess.exithandler (child_process.js:193:7)
    at emitTwo (events.js:100:13)
    at ChildProcess.emit (events.js:185:7)
    at maybeClose (internal/child_process.js:850:16)
    at Socket.<anonymous> (internal/child_process.js:323:11)
    at emitOne (events.js:90:13)
    at Socket.emit (events.js:182:7)
    at Pipe._onclose (net.js:475:12)

[HTTP] <-- POST /wd/hub/session 500 973 ms - 175

I tried to keep the app in device when I start the tests, but still got the message “Could not remove”. I tried to install und uninstall the app manually, it works. I also can’t launch Inspector, there is a popup “Could not get list of sessions from Appium server”. When I run Doctor to examine, everything is in place.

I tried on another Mac, with the same environment, and it works! So I don’t know if I have accidentally changed my Mac’s environment, for example, my node.js or so.

Please anyone can help me out or advise me what I can do to inspect this issue. I am kind of stuck. Thanks in advance.