Search code examples
javalibgdxcrashlyticsrobovm

How to use Crashlytics with RoboVM iOS binding?


I'm trying to connect Crashlytics to my LibGDX project using RoboVM iOS bindings. I followed instructions from bindings web page: downloaded jar-file, put it in libs, modified build.gradle, synced... I also added <frameworks> from robovm.xml of the binding to my robovm.xml (not sure if it's needed for my gradle configuration).

I added Crashlytics.start() method call in my IOSLauncher class:

public class IOSLauncher extends IOSApplication.Delegate {
    ...
    @Override
    public boolean didFinishLaunching(UIApplication application, UIApplicationLaunchOptions launchOptions) {
        Crashlytics.start("myAPIkeyIsHere");
        return super.didFinishLaunching(application, launchOptions);
    }
    ...
}

It's a little bit different from sample because my IOSLauncher class extends IOSApplication.Delegate not UIApplicationDelegateAdapter. But I think this doesn't matter.

After that I'm trying to force crash my app. I added throw new RuntimeException() at the start of my core project. App is successfully crashing. I can see corresponding stacktrace in console but I don't get any crash logs in Crashlytics dashboard.

I searched Crashlytics knowledge base and found that XCode may hide crash information from Crashlytics. So I tried crashing my app on my iPad disconnected from my Mac but it didn't help.

I googled a lot but there is almost no information about usage of this bindings with Crashlytics. Does anybody can help me with this? How can I check that Crashlytics connected correctly to my project? May be I forget something?

P.S. Earlier I connected Crashlytics to Android backend of the same project and it works fine there.


Solution

  • An update in 2024 - Crashlytics now works with RoboVM.