Интеграция Fabric / Firebase Libgdx с Robopods - PullRequest
0 голосов
/ 30 января 2020

Я пытаюсь связать инструмент Fabric / Crashlytics с RoboPods для интеграции с игрой Libgdx.

В настоящее время

  1. Я загрузил Fabri c .framework, Crashlytics.framework в Мой проект и скопировал их в папку libs.
  2. Добавлена ​​реализация в градусах сборки
  3. Зарегистрированный Fabri c для RoboVM со следующими кодами

    Fabric.getSharedSDK().setDebug(true);
    Crashlytics.getSharedInstance().setDebugMode(true);
    Signals.installSignals(new InstallSignalsCallback() {
    
        @Override
        public void install() {
            System.out.println("Installing fabric");
            Fabric.with(Crashlytics.class);
    
        }
    }, true);
    NSException.registerDefaultJavaUncaughtExceptionHandler();
    
  4. Загруженный файл DYSM в консоль Firebase.
    Пока все хорошо, теперь проблема в выходных данных проекта.

    Вывод библиотеки для текущих инструментов,

    "com.google.admob. ios" = "0.0.0"; "com.twitter.answers. ios" = "1.4.1"; "com.twitter.crashlytics. ios" = "3.14.0"; "io.fabri c .sdk. ios" = "1.10.2";

Ошибка в том, что

2020-01-30 22:36:43.065436+0300 IOSLauncher[7595:2143072] Task <DF535BE8-A3C0-4596-86EF-24B4D9663EDE>.<14> load failed with error Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={_kCFStreamErrorCodeKey=50, NSUnderlyingError=0x28271e250 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalUploadTask <DF535BE8-A3C0-4596-86EF-24B4D9663EDE>.<14>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalUploadTask <DF535BE8-A3C0-4596-86EF-24B4D9663EDE>.<14>"
), NSLocalizedDescription=The Internet connection appears to be offline., NSErrorFailingURLStringKey=https://e.crashlytics.com/spi/v2/events, NSErrorFailingURLKey=https://e.crashlytics.com/spi/v2/events, _kCFStreamErrorDomainKey=1} [-1009]
2020-01-30 22:36:43.065726+0300 IOSLauncher[7595:2143072] Task <638D9538-47C6-4782-8C11-F3A1CF477EA5>.<15> load failed with error Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={_kCFStreamErrorCodeKey=50, NSUnderlyingError=0x2827334e0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalUploadTask <638D9538-47C6-4782-8C11-F3A1CF477EA5>.<15>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalUploadTask <638D9538-47C6-4782-8C11-F3A1CF477EA5>.<15>"
), NSLocalizedDescription=The Internet connection appears to be offline., NSErrorFailingURLStringKey=https://e.crashlytics.com/spi/v2/events, NSErrorFailingURLKey=https://e.crashlytics.com/spi/v2/events, _kCFStreamErrorDomainKey=1} [-1009]
2020-01-30 22:36:43.065992+0300 IOSLauncher[7595:2143072] Task <F95438B8-375D-4A1B-B7BF-260204462ADD>.<16> load failed with error Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={_kCFStreamErrorCodeKey=50, NSUnderlyingError=0x282733e40 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalUploadTask <F95438B8-375D-4A1B-B7BF-260204462ADD>.<16>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalUploadTask <F95438B8-375D-4A1B-B7BF-260204462ADD>.<16>"

Я не уверен почему исключения не загружены в консоль Firebase. События аналитики могут отображаться в Firebase Debug View, но в инструменте Crashlytics ничего не происходит. Может ли кто-нибудь помочь мне решить эту проблему?

1 Ответ

0 голосов
/ 01 февраля 2020

Я решил эту проблему, удалив ключ Fabri c API из Info.plist. В старых версиях Fabri c есть ключ API для вставки в метаданные в Android и для помещения Info.plist в iOS.

После этого вы можете увидеть свои сбои в базе данных, но вам следует добавить файлы dsym. Чтобы получить этот файл dsym, создайте сборку выпуска и найдите файл dsym в той же папке, что iPA создала для iOS.

 //This would be enough to initialize fabric.
    @Override
public boolean didFinishLaunching(UIApplication application, UIApplicationLaunchOptions launchOptions) {
    System.out.println("didFinishLaunching with options");
    Fabric.getSharedSDK().setDebug(true);
    Crashlytics.getSharedInstance().setDebugMode(true);
    FIRApp.configure();
    NSException.registerDefaultJavaUncaughtExceptionHandler(); //DO NOT FORGET TO ADD THIS
    return super.didFinishLaunching(application,launchOptions); 

}

Также в робовм. xml добавить

<exportedSymbols>
        <symbol>CLS*</symbol>
</exportedSymbols>

добавить рамки

<framework>FIRAnalyticsConnector</framework>
<framework>FirebaseAnalytics</framework>
<framework>FirebaseCore</framework>
<framework>FirebaseCoreDiagnostics</framework>
<framework>FirebaseInstanceID</framework>
<framework>GoogleAppMeasurement</framework>
<framework>GoogleUtilities</framework>
<framework>nanopb</framework>
<framework>Fabric</framework>
<framework>Crashlytics</framework>

Наслаждайтесь своими сбоями

...