javaioslibgdxrobovmlibimobiledevice

RoboVM: IDEVICE_E_NO_DEVICE


I'm trying to test my libGDX app on an iPod but, simply put, it ain't workin'.

It builds for the simulator, and I can also push an Xcode project with the same bundle ID to my device, so I've not really been able to narrow the problem down to anything.

I am using:

I doubt it's particularly helpful, but here is the error in its entirety:

[ERROR] Couldn't start application
org.robovm.libimobiledevice.LibIMobileDeviceException: IDEVICE_E_NO_DEVICE
    at org.robovm.libimobiledevice.IDevice.checkResult(IDevice.java:197)
    at org.robovm.libimobiledevice.IDevice.(IDevice.java:57)
    at org.robovm.compiler.target.ios.IOSTarget.createIOSDevLauncher(IOSTarget.java:201)
    at org.robovm.compiler.target.ios.IOSTarget.createLauncher(IOSTarget.java:175)
    at org.robovm.compiler.target.AbstractTarget.doLaunch(AbstractTarget.java:802)
    at org.robovm.compiler.target.ios.IOSTarget.doLaunch(IOSTarget.java:784)
    at org.robovm.compiler.target.AbstractTarget.launch(AbstractTarget.java:798)
    at org.robovm.compiler.AppCompiler.launchAsync(AppCompiler.java:1024)
    at org.robovm.idea.running.RoboVmRunProfileState.executeRun(RoboVmRunProfileState.java:72)
    at org.robovm.idea.running.RoboVmRunProfileState.startProcess(RoboVmRunProfileState.java:118)
    at com.intellij.execution.configurations.CommandLineState.execute(CommandLineState.java:61)
    at org.robovm.idea.running.RoboVmRunner.doExecute(RoboVmRunner.java:79)
    at com.intellij.execution.runners.GenericProgramRunner$execute$$inlined$runProfileStarter$1.executeAsync(GenericProgramRunner.kt:56)
    at com.intellij.execution.runners.GenericProgramRunnerKt$startRunProfile$$inlined$runProfileStarter$1.executeAsync(GenericProgramRunner.kt:56)
    at com.intellij.execution.impl.ExecutionManagerKtImpl$startRunProfile$startRunnable$1.run(ExecutionManagerKtImpl.kt:66)
    at com.intellij.openapi.application.TransactionGuardImpl.runSyncTransaction(TransactionGuardImpl.java:83)
    at com.intellij.openapi.application.TransactionGuardImpl.lambda$pollQueueLater$0(TransactionGuardImpl.java:68)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.doRun(LaterInvocator.java:441)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.runNextEvent(LaterInvocator.java:424)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:407)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764)
    at java.awt.EventQueue.access$500(EventQueue.java:98)
    at java.awt.EventQueue$3.run(EventQueue.java:715)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:734)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:908)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:781)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:424)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:698)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:423)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Solution

  • From the exception stack traces I can see that RoboVM detected your device before compilation (as it got your UDID), compiled project and failed during deployment while trying to get device by UDID.

    This happens if you device is not connected anymore or connected not over USB. E.g. over wifi.

    Probably you should uncheck Connect via network for your device (accessable by Xcode->Windows->Device and Simulator menu) and connect it using USB.