Real iOS device shows up as <unrecognized device> . the execution fails because of a desired capabilities being blank

Trying to test on a real device iPad 5th Generation running iOS 12.4.1 but when I want to record on it, the running fails and appium cannot find the deviceName. The device is detected fine on xcode and the terminal. I can also run a test case that opens the browser but not an app.Annotation%202019-09-12%20173407

Running:
Xcode 10.3
Appium 1.14.2
Katalon 6.3.3

The log is as follows:
e[35m[Appium]e[39m Welcome to Appium v1.14.2
e[35m[Appium]e[39m Non-default server args:
e[35m[Appium]e[39m port: 50356
e[35m[Appium]e[39m loglevel: info
e[35m[Appium]e[39m chromeDriverPort: 50357
e[35m[Appium]e[39m tmpDir: /var/folders/n4/kf6lq2f93vnd1zvxghb2xc6w0000gn/T//Katalon/Appium/Temp1568278759666
e[35m[Appium]e[39m Appium REST http interface listener started on 0.0.0.0:50356
e[35m[HTTP]e[39m e[37m–>e[39m e[37mGETe[39m e[37m/wd/hub/statuse[39m
e[35m[HTTP]e[39m e[90m{}e[39m
e[35m[HTTP]e[39m e[37m<-- GET /wd/hub/status e[39me[32m200e[39m e[90m16 ms - 68e[39m
e[35m[HTTP]e[39m e[90me[39m
e[35m[HTTP]e[39m e[37m–>e[39m e[37mGETe[39m e[37m/wd/hub/statuse[39m
e[35m[HTTP]e[39m e[90m{}e[39m
e[35m[HTTP]e[39m e[37m<-- GET /wd/hub/status e[39me[32m200e[39m e[90m3 ms - 68e[39m
e[35m[HTTP]e[39m e[90me[39m
e[35m[HTTP]e[39m e[37m–>e[39m e[37mPOSTe[39m e[37m/wd/hub/sessione[39m
e[35m[HTTP]e[39m e[90m{“desiredCapabilities”:{“newCommandTimeout”:1800,“realDeviceLogger”:“/Users/andrewmark/Documents/Katalon Studio.app/Contents/Eclipse/configuration/resources/tools/deviceconsole”,“platformVersion”:“12.2”,“automationName”:“XCUITest”,“bundleId”:“com.xxx.xxx”,“waitForAppScript”:“true;”,“platformName”:“iOS”,“udid”:“”,“deviceId”:“”,“deviceName”:“”,“wdaLocalPort”:50370},“capabilities”:{“firstMatch”:[{“appium:automationName”:“XCUITest”,“appium:bundleId”:“com.umaiglobal.partner”,“deviceId”:“”,“appium:deviceName”:“”,“appium:newCommandTimeout”:1800,“platformName”:“ios”,“appium:platformVersion”:“12.2”,“realDeviceLogger”:“/Users/andrewmark/Documents/Katalon Studio.app/Contents/Eclipse/configuration/resources/tools/deviceconsole”,“appium:udid”:“”,“appium:waitForAppScript”:“true;”,“appium:wdaLocalPort”:50370}]}}e[39m
e[35m[BaseDriver]e[39m The capabilities [“deviceId”,“realDeviceLogger”] are not standard capabilities and should have an extension prefix
e[35m[Appium]e[39m Could not parse W3C capabilities: ‘deviceName’ can’t be blank
e[35m[Appium]e[39m Trying to fix W3C capabilities by merging them with JSONWP caps
e[35m[BaseDriver]e[39m The capabilities [“deviceId”,“realDeviceLogger”,“automationName”,“bundleId”,“deviceName”,“newCommandTimeout”,“platformVersion”,“udid”,“waitForAppScript”,“wdaLocalPort”] are not standard capabilities and should have an extension prefix
e[35m[Appium]e[39m Could not parse fixed W3C capabilities: ‘deviceName’ can’t be blank. Falling back to JSONWP protocol
e[35m[Appium]e[39m Appium v1.14.2 creating new XCUITestDriver (v2.116.3) session
e[35m[Appium]e[39m Capabilities:
e[35m[Appium]e[39m newCommandTimeout: 1800
e[35m[Appium]e[39m realDeviceLogger: /Users/andrewmark/Documents/Katalon Studio.app/Contents/Eclipse/configuration/resources/tools/deviceconsole
e[35m[Appium]e[39m platformVersion: 12.2
e[35m[Appium]e[39m automationName: XCUITest
e[35m[Appium]e[39m bundleId: com.xxxx.xxx
e[35m[Appium]e[39m waitForAppScript: true;
e[35m[Appium]e[39m platformName: iOS
e[35m[Appium]e[39m udid:
e[35m[Appium]e[39m deviceId:
e[35m[Appium]e[39m deviceName:
e[35m[Appium]e[39m wdaLocalPort: 50370
e[35m[HTTP]e[39m e[37m<-- POST /wd/hub/session e[39me[31m500e[39m e[90m432 ms - 199e[39m
e[35m[HTTP]e[39m e[90me[39m

1 Like

The same problem here. Could someone help us?

Thank you!

Hey Bernardo.
You have to uninstall libimobiledevice and usbmxd and install them again.

This worked for me
brew update
brew uninstall --ignore-dependencies libimobiledevice
brew uninstall --ignore-dependencies usbmuxd
brew install --HEAD usbmuxd
brew unlink usbmuxd
brew link usbmuxd
brew install --HEAD libimobiledevice

2 Likes

Thank you so much @andrew.o! Now i can see my device, however i have another problem when i do a mobile spy:

ava.util.concurrent.ExecutionException: org.openqa.selenium.SessionNotCreatedException: Unable to create a new remote session. Please check the server log for more details. Original error: An unknown server-side error occurred while processing the command. Original error: Unable to launch WebDriverAgent because of xcodebuild failure: EACCES: permission denied, mkdir ‘/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/Resources’. Make sure you follow the tutorial at https://github.com/appium/appium-xcuitest-driver/blob/master/docs/real-device-config.md. Try to remove the WebDriverAgentRunner application from the device if it is installed and reboot the device.

1 Like

After do that, I get this error:

After updating Xcode to 11.4.1, I have this:

+1
I am also getting exactly same issue.

@adadiagne08, @bhagyashri.vaidya
Please follow this instruction or use Tools/iOS/Install dependencies in Katalon Studio.

@duyluong I tried with Tools/iOS/Install dependencies but it is giving same issue
image

+1 me too. I tried the instruction but the issue persists.

Please make sure you have XCode 10.14.1 then run this command

sudo xcode-select -switch /Applications/Xcode.app/

then try install libimobiledevice again

Thank you @duyluong, I am using XCode 11.4.1 (10.4.1 does not exist).
But I have unrecognized device.

@adadiagne08

Please use Tools/iOS/Install Dependencies or follow this instructions: https://docs.katalon.com/katalon-studio/docs/mobile-on-macos.html#reference-installation-guide

you have already given these instructions :slightly_smiling_face:.
perhaps, Katalon does not support iOS real device :thinking:
because it works with Appium Desktop 1.15.1.

@adadiagne08

Please plugin device and type this command via command-line:

idivice_id -l

I have this:

Thanks

@adadiagne08 @duyluong I manage to solve this issue. We basically need to update libplist .
I tried this brew install --HEAD libplist before brew install --HEAD libimobiledevice

Refer this :https://github.com/libimobiledevice/libimobiledevice/issues/955

4 Likes

Thank you @bhagyashri.vaidya, it works for me.
I installed libplist and libimobiledevice from here using commands:

  • ./autogen.sh
  • make
  • sudo make install