RoboVM, the makers of technology that enabled you to run Java applications (such as LibGDX) on iOS, just released version 1.11. The major features of this release are Bitcode, iOS 9.1 and Kotlin support.
From the complete release notes:
Experimental Bitcode Support
We’ve been hard at work adding initial bitcode support to RoboVM. Bitcode allows Apple to recompile your app on their servers to exploit new CPU features. Currently, watchOS and tvOS both require apps to be submitted as bitcode. For iOS, bitcode submissions are currently optional. This experimental feature is currently targeted at iOS, and represents the first step towards future watchOS and tvOS support.
This experimental support allows you to submit your apps for iOS to the App Store with bitcode enabled. You can enable bitcode from the IPA creation dialogs in both IntelliJ IDEA/RoboVM Studio and Eclipse:
You can also enable bitcode-enabled IPA creation in Gradle
./gradlew createIPA -Probovm.enableBitcode=trueor Maven
mvn robovm:createIPA -Drobovm.enableBitcode=trueNote that bitcode support is highly experimental at this point, and we do not yet give support for it. As a next step, we will be focusing on tvOS support, making it a new build target and exposing its APIs.
Kotlin Support
One of the reasons we love the JVM ecosystem is the multitude of alternative JVM languages available. We’ve had an eye on JetBrains’ Kotlin for a long time now. As Kotlin is nearing its 1.0 release, we thought it’d be a good time to give our users Kotlin support as well!
Building on the latest Kotlin Beta, you can now create cross-platform Android and iOS app in Kotlin from within RoboVM Studio or IntelliJ IDEA! Simply update to the latest RoboVM IntellIJ IDEA plugin or RoboVM Studio version and use the project creation wizard to get started.
iOS 9.1 Support
RoboVM 1.11 brings you full bindings for iOS 9.1, including new additions to AudioToolbox, CloudKit, and UIKit and the new 3D-Touch APIs. Check out our API diffs to learn what’s changed!
Bug Fixes & Enhancements
As always, we squashed bugs, improved performance and added some bells and whistles. Here are the most important changes:
- You can specify which files should be included/excluded from your archive, such as Java files in JARs and so on.
- Fixed an NPE in
AudioBufferList#getBuffer
- Fixed an issue with native blocks not being properly retained
- Fixed signing errors when exporting an IPA over an existing IPA
- Fixed Xcode losing focus when modifying a Java resource
- Removed deprecated handle constructors (see API diffs)
- Fixed non-fatal exception when opening an existing project in RoboVM Studio
- Added convenience methods to NSArray (see API diffs)
- Split Flurry RoboPod into Analytics and Ads
- Fixed compiler bug when assigning primitive types of different type to Object
- Upgraded RoboVM Studio to latest IntelliJ IDEA 15 build, including bug fixes for Android
- Updated all samples and templates to Gradle 2.8 for improved build performance.
- Fixed IntelliJ IDEA 15 not building the core and iOS projects on Make step
- Fixed showing RoboVM Studio welcome frame when plugin is installed in IntelliJ IDEA/Android Studio. Sorry folks 🙁
- Fixed bug in JARURLProtocol which would not process nil URLs properly
- Upgraded HeyZap RoboPod to release version
- Added Reachability RoboPod