Libgdx updates to RoboVM 0.0.11, featuring new CocoaTouch bindings!

Niklas Therning of RoboVM fame send us a tasty pull request a few days ago that updates our RoboVM backend to the latest RoboVM version. I held off merging this PR until today when Niklas released RoboVM 0.0.11. The new CocoaTouch bindings, exposing iOS APIs to you, are now under a new package called org.robovm.apple. This means that your RoboVM starter classes need to be adapted a tiny little bit!

This:

package com.badlogic.gdx.tests;
 
import org.robovm.cocoatouch.foundation.NSAutoreleasePool;
import org.robovm.cocoatouch.uikit.UIApplication;
 
import com.badlogic.gdx.backends.iosrobovm.IOSApplication;
import com.badlogic.gdx.backends.iosrobovm.IOSApplicationConfiguration;
 
public class IOSRobovmTests extends IOSApplication.Delegate {
 
	@Override
	protected IOSApplication createApplication() {
		IOSApplicationConfiguration config = new IOSApplicationConfiguration();
		return new IOSApplication(new BulletTestCollection(), config);
	}
 
	public static void main(String[] argv) {
		NSAutoreleasePool pool = new NSAutoreleasePool();
		UIApplication.main(argv, null, IOSRobovmTests.class);		
		pool.drain();
	}
}

Becomes this:

package com.badlogic.gdx.tests;
 
import org.robovm.apple.foundation.NSAutoreleasePool;
import org.robovm.apple.uikit.UIApplication;
 
import com.badlogic.gdx.backends.iosrobovm.IOSApplication;
import com.badlogic.gdx.backends.iosrobovm.IOSApplicationConfiguration;
 
public class IOSRobovmTests extends IOSApplication.Delegate {	
	@Override
	protected IOSApplication createApplication() {
		IOSApplicationConfiguration config = new IOSApplicationConfiguration();
		return new IOSApplication(new BulletTestCollection(), config);
	}
 
	public static void main(String[] argv) {
		NSAutoreleasePool pool = new NSAutoreleasePool();
		UIApplication.main(argv, null, IOSRobovmTests.class);		
		pool.close();
	}
}

Both IOSApplication and NSAutoreleasePool have to be imported from the new package. NSAutoreleasePool#drain() has now become NSAutoReleasePool#close().

I also updated our Gradle templates to use the latest Gradle RoboVM plugin (0.0.6) and our Maven POMs to depend on the latest RoboVM version in Maven Central. Give it an hour or two to distribute into the nightlies, build on our build server sponsored by our awesome community via Patreon!

Support RoboVM (and get Java 8 and other Goodies)

Niklas is finally in a stage where we as a community can help out financially. Given the absolutely amazing support so far, i believe it’s our duty to contribute to the financial well-being of both Niklas and the RoboVM project.

You can support RoboVM by sponsorship. Sponsorship does not entitle you to any specific service. You will however get various discounts if you decide to buy a proper support package once they are available. You can find all details about sponsorship RoboVM’s sponsorship page.

Support packages will be offered starting in Q2 2014. RoboVM will stay OSS and will continue to be free for commercial and non-commercial use. Niklas will try to finance the project by providing support package subscriptions. Details about the content of such a subscription are still in the definition phase and will be revealed in Q2 2014.

I put 199€ of our libgdx funds towards sponsoring the project, as evident on the RoboVM sponsors page.

You can find Nikla’s annoucement on RoboVM’s blog.

Consider sponsoring this amazing project!

Special Xamarin Libgdx 0.9.9 Prerelease

So, i’m about to purge all Xamarin related things from our repository. For those users that are still using Xamarin, i prepared a special release, which you can find here. I also created a Git tag so you can still browse the source online easily.

This release contains the current master version of libgdx, and the latest IKVM-Monotouch version. I tested it with on all iOS versions >= 5.0 via the simulator, as well as on iOS 6 and iOS 7 on devices. If you run into any IKVM-Monotouch issues, i’m afraid we won’t be able to help you.

I also removed any mention of Xamarin from our Wiki over at Github. You can find the Xamarin/iOS notes are still available, but not linked from the TOC.

I will now remove the backend from the build, Git repo and setup-ui.

The real 0.9.9 release will happen soonish, i want to finish the new setup-ui based on Gradle first. We (read: i just force this on everybody) also have some plans to let you share your own extensions much more easily with others through Gradle. More on that soon.