External Publication
Visit Post

jME 3.10.0-alpha5

jMonkeyEngine Hub May 28, 2026
Source

There is the jme3-ios-examples module jmonkeyengine/jme3-ios-examples/build.gradle at 8cfd6427d511ec5f0884b0112918dc945e4ed9db · jMonkeyEngine/jmonkeyengine · GitHub

But the gist of it is:

  1. Add the libjglios plugin
plugins {
    id 'org.ngengine.libjglios' version '0.5'
}
  1. define the task
iOS {
    mainClass = "com.example.yourappId.IosApplicationLauncher"
    bundleId = 'com.example.yourappId'
    appName = 'YourAppName'
    appIcon = file('yourappicon.png')
    assets.from 'src/main/resources' // your assets path
}

Then run the tasks:

  • runIosDebugApp - builds and runs the debug app on a connected iOS device, or on the simulator when no device is selected.
  • buildIosSimulatorApp - builds a runnable simulator app.
  • buildIosDebugApp - builds a development-signed .app for a real iOS device.
  • buildIosApp - builds a release-signed .ipa for App Store upload.

the main class is basically the ios launcher and it must look like this:

public class IosApplicationLauncher {

    protected Application app;

    protected Application createApplication() throws Exception{
        // initialize the app here
    }

    public void start() {
        try {
            app = createApplication();
            app.start();
        } catch (Exception exception) {
            throw new IllegalStateException("jME application initialization failed", exception);
        }
    }



    public void update() {
        if (app instanceof SystemListener) {
            ((SystemListener) app).update();
        }
    }

    public void resize(int width, int height) {
        if (app instanceof SystemListener) {
            ((SystemListener) app).reshape(width, height);
        }
    }

    public void stop(boolean waitFor) {
        if (app != null) {
            app.stop(waitFor);
            app = null;
        }
    }
}

Before the stable release we will update the jme initializer, so it can prepare all the boilerplate.

Discussion in the ATmosphere

Loading comments...