jME 3.10.0-alpha5
jMonkeyEngine Hub
May 28, 2026
There is the jme3-ios-examples module jmonkeyengine/jme3-ios-examples/build.gradle at 8cfd6427d511ec5f0884b0112918dc945e4ed9db · jMonkeyEngine/jmonkeyengine · GitHub
But the gist of it is:
- Add the libjglios plugin
plugins {
id 'org.ngengine.libjglios' version '0.5'
}
- 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.appfor a real iOS device.buildIosApp- builds a release-signed.ipafor 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