MobiVM / robovm

Ahead of time compiler for JVM bytecode targetting iOS, Mac OSX and Linux
https://mobivm.github.io
942 stars 132 forks source link

Developer disk images have been removed #755

Open davidgiga1993 opened 9 months ago

davidgiga1993 commented 9 months ago

Issue details

Deployment / Debug on iOS 17 devices doesn't work anymore

Related informations: https://developer.apple.com/forums/thread/730947 https://github.com/ios-control/ios-deploy/issues/588

gradle launchIOSDevicex64
...
No DeveloperDiskImage.dmg found in /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport for iOS version 17.0.1

my gradle file:

task launchIOSDevicex64(group: 'mobivm') {
    doLast {
        project.ext.'robovm.arch' = 'arm64'
    }
    finalizedBy launchIOSDevice
}

Configuration

Please provide the build system, version(s), and targets affected.

Build Tools:

Versions:

Please provide the version of RoboVM, XCode and JDK used

Build Targets:

iOS 17 arm64

dkimitsa commented 9 months ago

yep it is not supported for a while due lack of support in dependency ilibmobiledevice. work on replacement is in progress

davidgiga1993 commented 9 months ago

Great, thanks a lot!

davidgiga1993 commented 8 months ago

Do we need to wait for ilibmobiledevice? They mentioned that pymobiledevice3 supports it already, would that be an alternative to consider?

dkimitsa commented 8 months ago

pymobiledevice3 is not considered as alternative. the idea is to have same ecosystem solution (e.g. java) under own control. currently I'm porting pymobiledevice3 project into kotlin, to use as ilibmobiledevice replacement. Hope also to cover other connectivity issues we have. at least we will have it in own code base.

davidgiga1993 commented 5 months ago

Any update on this? I can't really test on physical devices anymore which is a huge pain since the simulator doesn't provide the required functionality

hooji commented 2 months ago

I found a workaround that can be used to install MobiVM apps on physical devices using Apple provided command line tools.

1) Go to Mac App Store and download "Apple Configurator" 2) Create an alias: alias cfgutil='"/Applications/Apple Configurator.app/Contents/MacOS/cfgutil"' 3) Create an on-device run configuration and build your project. It will build, but then fail with an error trying to run on the device. 4) In Terminal, go to the build directory (like: ./robovm-build/tmp/on device/ios/arm64 ). 5) Your built app should be there (For example, "Main.app") 6) Run the command: cfgutil install-app ./Main.app

The app will install on your connected device (doesn't need to be unlocked), but will not automatically run.

You will need to search for your app by name to run it.

DONE!

PS: It would be nice if this could be integrated into the build process as an alternate installation method.

obigu commented 2 months ago

Just to clarify because I think it's not clear and the issue gives the impression it's not possible to deploy and app on an iOS 17 device.

Deployment of an app on a device works, it just fails on first launch with the "No DeveloperDiskImage.dmg found" message . After that you can launch the deployed app from springboard without issues (just clicking on the icon).

Debugging on the other hand doesn't work on device and the currrent workaround is to use Simulator.