如何将 Crashlytics 与 RoboVM iOS 绑定一起使用?

How to use Crashlytics with RoboVM iOS binding?

我正在尝试使用 RoboVM iOS bindings 将 Crashlytics 连接到我的 LibGDX 项目。我按照绑定网页的说明进行操作:下载 jar 文件,将其放入 libs,修改 build.gradle,同步...我还从绑定的 robovm.xml 添加了 <frameworks>到我的 robovm.xml(不确定我的 gradle 配置是否需要它)。

我在 IOSLauncher class:

中添加了 Crashlytics.start() 方法调用
public class IOSLauncher extends IOSApplication.Delegate {
    ...
    @Override
    public boolean didFinishLaunching(UIApplication application, UIApplicationLaunchOptions launchOptions) {
        Crashlytics.start("myAPIkeyIsHere");
        return super.didFinishLaunching(application, launchOptions);
    }
    ...
}

它与 sample 有点不同,因为我的 IOSLauncher class 扩展了 IOSApplication.Delegate 而不是 UIApplicationDelegateAdapter。不过我觉得这没关系。

之后,我试图强制让我的应用程序崩溃。我在核心项目的开头添加了 throw new RuntimeException() 。应用程序成功崩溃。我可以在控制台中看到相应的堆栈跟踪,但在 Crashlytics 仪表板中没有看到任何崩溃日志。

我搜索了 Crashlytics 知识库,发现 XCode 可能隐藏了 Crashlytics 的崩溃信息。因此,我尝试在 iPad 与 Mac 断开连接时让我的应用程序崩溃,但没有帮助。

我在谷歌上搜索了很多,但几乎没有关于在 Crashlytics 中使用此绑定的信息。有人可以帮我吗?如何检查 Crashlytics 是否正确连接到我的项目?可能是我忘记了什么?

P.S。早些时候我将 Crashlytics 连接到同一项目的 Android 后端,它在那里工作正常。

据我所知,Crashlytics 目前不适用于 roboVM。 Here is a post with a contributor saying as much. There is also some info here 贡献者表示他们目前不支持 crashlytics 使用的 mach 异常处理。

不过,您可以使用 Bugsense 或 Flurry 作为替代方案。