Skip to content

[🐛] Crashlytics 8.4.2 not collecting on iOS with pods 6.31? #4229

Closed
@abdullahizzuddiin

Description

@abdullahizzuddiin

[EDITED by @mikehardy 20200913]: it appears the pods 6.28 may work fine with our @react-native-firebase/crashlytics@^8.4.2, but that pods 6.31 does not. This is an area of active investigation. But you may try overriding pods to 6.28 for now. https://rnfirebase.io/#ios

Original issue follows:


Issue

I just upgraded @react-native-firebase/crashlytics from 6.4.0 to 8.4.2. Crash report from iOS didn't displayed on Firebase Console Dashboard.

What I've Done

  • Read [RESOLVED we think] 🔥 Crashlytics 8.0.1 not collecting on iOS #3879
  • removed all fabric related code/config from xschme, project.pbxproj, podfile, podfile.lock
  • added firebase.json
  • ran crashlytics().setCrashlyticsCollectionEnabled(true); in app code
  • triggered crash using crashlytics().crash()
  • Built on Debug and Release mode.
  • Last but not least, wait 8 hours

After all things i've done, nothing resulted to displaying error on my Firebase Console.

This log displayed immediately after app builded and ran on my phone.

[Firebase/Crashlytics] Version 4.4.0
6.30.0 - [Firebase/Crashlytics][I-CLS000000] [Crashlytics] Running on iPhone9,3, 13.7.0 (17H35)
6.30.0 - [Firebase/Crashlytics][I-CLS000000] Root: /var/mobile/Containers/Data/Application/7529E6A5-A2B7-42E4-929B-AF26A1E622AA/Library/Caches/com.crashlytics.data/id.flip.debug
6.30.0 - [Firebase/Crashlytics][I-CLS000000] [Crashlytics:Crash:Reports:Event] Registered Firebase Analytics event listener
6.30.0 - [Firebase/Crashlytics][I-CLS000000] Automatic data collection is disabled.
6.30.0 - [Firebase/Crashlytics][I-CLS000000] [Crashlytics:Crash] There are no unsent reports.

Sometimes, 1 unsent reports are available. Checking for upload permission. displayed on console. But, nothing happened after I trigger crashlytics().sendUnsentReports();

[Firebase/Crashlytics] Version 4.4.0
6.30.0 - [Firebase/Crashlytics][I-CLS000000] [Crashlytics] Running on iPhone9,3, 13.7.0 (17H35)
6.30.0 - [Firebase/Crashlytics][I-CLS000000] [Crashlytics:Settings] No settings were cached
se/Crashlytics][I-CLS000000] Root: /var/mobile/Containers/Data/Application/AE3C2DEF-A21A-4722-8F8F-E4B24DDBC49A/Library/Caches/com.crashlytics.data/id.flip.debug
6.30.0 - [Firebase/Crashlytics][I-CLS000000] [Crashlytics:Crash:Reports:Event] Registered Firebase Analytics event listener
6.30.0 - [Firebase/Crashlytics][I-CLS000000] Automatic data collection is disabled.
6.30.0 - [Firebase/Crashlytics][I-CLS000000] [Crashlytics:Crash] 1 unsent reports are available. Checking for upload permission.
6.30.0 - [Firebase/Crashlytics][I-CLS000000] [Crashlytics:Crash] Notifying that unsent reports are available.
6.30.0 - [Firebase/Crashlytics][I-CLS000000] [Crashlytics:Crash] Waiting for send/deleteUnsentReports to be called.

I also followed this suggestion. I added

<key>FirebaseCrashlyticsCollectionEnabled</key>
    <true/>

to Info.plist and it gave result.

[Firebase/Crashlytics] Version 4.4.0
6.30.0 - [Firebase/Crashlytics][I-CLS000000] [Crashlytics] Running on iPhone9,3, 13.7.0 (17H35)
6.30.0 - [Firebase/Crashlytics][I-CLS000000] Root: /var/mobile/Containers/Data/Application/B14705F3-E1B1-4C0A-87F0-979DB5891E46/Library/Caches/com.crashlytics.data/id.flip.debug
6.30.0 - [Firebase/Crashlytics][I-CLS000000] [Crashlytics:Crash:Reports:Event] Registered Firebase Analytics event listener
6.30.0 - [Firebase/Crashlytics][I-CLS000000] Automatic data collection is enabled.
6.30.0 - [Firebase/Crashlytics][I-CLS000000] Unsent reports will be uploaded at startup

we may highlighted Automatic data collection is enabled. but no crash appeared on firebase console.

On device log, It displayed this error
image


Project Files

Javascript

Click To Expand

package.json:

"dependencies": {
    "@react-native-community/async-storage": "^1.8.1",
    "@react-native-community/cameraroll": "^1.7.2",
    "@react-native-community/netinfo": "^5.6.2",
    "@react-native-community/push-notification-ios": "^1.0.7",
    "@react-native-community/viewpager": "^3.3.0",
    "@react-native-firebase/analytics": "^7.6.1",
    "@react-native-firebase/app": "^8.4.1",
    "@react-native-firebase/crashlytics": "^8.4.2",
    "@react-native-firebase/dynamic-links": "^7.5.2",
    "@react-native-firebase/in-app-messaging": "^7.4.2",
    "@react-native-firebase/messaging": "^7.8.4",
    "@react-native-firebase/perf": "^7.4.2",
    "@react-native-firebase/remote-config": "^9.0.3",
    "appcenter": "^3.0.0",
    "appcenter-analytics": "^3.0.0",
    "appcenter-crashes": "^3.0.0",
    "apsl-react-native-button": "^3.1.1",
    "assert": "^1.4.1",
    "babel-plugin-transform-remove-console": "^6.8.5",
    "crypto-js": "^3.1.9-1",
    "lodash": "^4.17.15",
    "lottie-ios": "^3.1.8",
    "lottie-react-native": "^3.4.0",
    "memoize-one": "^5.1.1",
    "moment": "^2.15.0",
    "moment-timezone": "^0.5.31",
    "prop-types": "^15.7.2",
    "react": "16.9.0",
    "react-native": "^0.61.5",
    "react-native-appsflyer": "^5.2.0",
    "react-native-check-box": "^2.1.7",
    "react-native-code-push": "^6.1.0",
    "react-native-collapsible": "^1.5.1",
    "react-native-config": "^0.11.7",
    "react-native-device-info": "^5.3.1",
    "react-native-emoji": "git+https://github.com/jorilallo/react-native-emoji.git",
    "react-native-fbsdk": "^1.1.2",
    "react-native-freshchat-sdk": "2.6.3",
    "react-native-gesture-handler": "^1.3.0",
    "react-native-hyperlink": "0.0.19",
    "react-native-image-picker": "git+https://github.com/abdullahizzuddiin/react-native-image-picker.git",
    "react-native-intercom": "^13.2.0",
    "react-native-keyboard-aware-scroll-view": "^0.9.1",
    "react-native-linear-gradient": "^2.5.6",
    "react-native-material-dropdown": "^0.11.1",
    "react-native-modalbox": "^2.0.0",
    "react-native-onesignal": "git+https://github.com/abdullahizzuddiin/react-native-onesignal.git",
    "react-native-photo-view": "git+https://github.com/alwx/react-native-photo-view.git",
    "react-native-reanimated": "^1.7.0",
    "react-native-router-flux": "^4.2.0",
    "react-native-screens": "^2.3.0",
    "react-native-scrollable-tab-view": "git+https://github.com/abdullahizzuddiin/react-native-scrollable-tab-view.git",
    "react-native-select-contact": "^1.3.2",
    "react-native-simple-toast": "^1.0.0",
    "react-native-spinkit": "^1.5.0",
    "react-redux": "^7.2.0",
    "redux": "^4.0.5",
    "redux-thunk": "^2.3.0",
    "rn-fetch-blob": "^0.12.0",
    "stream-browserify": "^2.0.1",
    "timers-browserify": "^2.0.10",
    "tty-browserify": "0.0.1",
    "url": "^0.11.0",
    "vm-browserify": "1.0.1",
    "warning": "^3.0.0"
  },
  "devDependencies": {
    "@babel/core": "^7.6.2",
    "@babel/runtime": "^7.6.2",
    "@react-native-community/eslint-config": "^0.0.5",
    "@typescript-eslint/eslint-plugin": "^3.8.0",
    "@typescript-eslint/parser": "^3.8.0",
    "babel-jest": "^24.9.0",
    "babel-plugin-module-resolver": "^4.0.0",
    "eslint": "^6.5.1",
    "eslint-import-resolver-babel-module": "^5.1.2",
    "eslint-plugin-import": "^2.22.0",
    "eslint-plugin-module-resolver": "^1.0.0",
    "eslint-plugin-react-native": "^3.8.1",
    "jest": "^24.9.0",
    "jetifier": "^1.6.3",
    "metro-react-native-babel-preset": "^0.56.0",
    "react-devtools": "3.6.2",
    "react-test-renderer": "16.9.0",
    "reactotron-react-native": "^2.1.0",
    "typescript": "^3.9.7"
  }

firebase.json for react-native-firebase v6:

{
  "react-native": {
    "crashlytics_debug_enabled": true,
    "crashlytics_disable_auto_disabler": true,
  }
}

iOS

Click To Expand

ios/Podfile:

  • I'm not using Pods
  • I'm using Pods and my Podfile looks like:
# Uncomment the next line to define a global platform for your project
platform :ios, '10.0'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'

target 'AppName' do
  # Pods for your project
  pod 'FBLazyVector', :path => "../node_modules/react-native/Libraries/FBLazyVector"
  pod 'FBReactNativeSpec', :path => "../node_modules/react-native/Libraries/FBReactNativeSpec"
  pod 'RCTRequired', :path => "../node_modules/react-native/Libraries/RCTRequired"
  pod 'RCTTypeSafety', :path => "../node_modules/react-native/Libraries/TypeSafety"
  pod 'React', :path => "../node_modules/react-native/"
  pod 'React-Core', :path => "../node_modules/react-native/"
  pod 'React-CoreModules', :path => "../node_modules/react-native/React/CoreModules"
  pod 'React-Core/DevSupport', :path => "../node_modules/react-native/"
  pod 'React-RCTActionSheet', :path => "../node_modules/react-native/Libraries/ActionSheetIOS"
  pod 'React-RCTAnimation', :path => "../node_modules/react-native/Libraries/NativeAnimation"
  pod 'React-RCTBlob', :path => "../node_modules/react-native/Libraries/Blob"
  pod 'React-RCTImage', :path => "../node_modules/react-native/Libraries/Image"
  pod 'React-RCTLinking', :path => "../node_modules/react-native/Libraries/LinkingIOS"
  pod 'React-RCTNetwork', :path => "../node_modules/react-native/Libraries/Network"
  pod 'React-RCTSettings', :path => "../node_modules/react-native/Libraries/Settings"
  pod 'React-RCTText', :path => "../node_modules/react-native/Libraries/Text"
  pod 'React-RCTVibration', :path => "../node_modules/react-native/Libraries/Vibration"
  pod 'React-Core/RCTWebSocket', :path => "../node_modules/react-native/"
  pod 'React-cxxreact', :path => "../node_modules/react-native/ReactCommon/cxxreact"
  pod 'React-jsi', :path => "../node_modules/react-native/ReactCommon/jsi"
  pod 'React-jsiexecutor', :path => "../node_modules/react-native/ReactCommon/jsiexecutor"
  pod 'React-jsinspector', :path => "../node_modules/react-native/ReactCommon/jsinspector"
  pod 'ReactCommon/jscallinvoker', :path => "../node_modules/react-native/ReactCommon"
  pod 'ReactCommon/turbomodule/core', :path => "../node_modules/react-native/ReactCommon"
  pod 'Yoga', :path => "../node_modules/react-native/ReactCommon/yoga"
  pod 'DoubleConversion', :podspec => "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
  pod 'glog', :podspec => "../node_modules/react-native/third-party-podspecs/glog.podspec"
  pod 'Folly', :podspec => "../node_modules/react-native/third-party-podspecs/Folly.podspec"

  # Uncomment the next line if you're using Swift or would like to use dynamic frameworks
  # use_frameworks!

  # Pods for AppName
  pod 'AppCenter/Crashes'
  pod 'AppCenter/Analytics'
  pod 'AppCenterReactNativeShared'

  pod 'FBSDKLoginKit'
  pod 'FBSDKShareKit'

  pod 'Intercom'
  pod 'ZendeskSupportSDK'
  pod 'OneSignal', '>= 2.14.2', '< 3.0'

  pod 'RNDeviceInfo', :path => '../node_modules/react-native-device-info'
  pod 'RNCPushNotificationIOS', :path => '../node_modules/@react-native-community/push-notification-ios'
  pod 'RCTSelectContact', :path => '../node_modules/react-native-select-contact'

  pod 'react-native-cameraroll', :path => '../node_modules/@react-native-community/cameraroll'

  target 'AppNameTests' do
    inherit! :search_paths
    # Pods for testing
  end

  use_native_modules!

  post_install do |installer|
    installer.pods_project.targets.each do |target|
      if target.name == 'react-native-config'
        phase = target.project.new(Xcodeproj::Project::Object::PBXShellScriptBuildPhase)
        phase.shell_script = "cd ../../"\
                             " && RNC_ROOT=./node_modules/react-native-config/"\
                             " && export SYMROOT=$RNC_ROOT/ios/ReactNativeConfig"\
                             " && export BUILD_DIR=$RNC_ROOT/ios/ReactNativeConfig"\
                             " && ruby $RNC_ROOT/ios/ReactNativeConfig/BuildDotenvConfig.ruby"

        target.build_phases << phase
        target.build_phases.move(phase,0)
      end
      if target.name == "React"
        target.remove_from_project
      end
    end
  end
end

target 'AppName-tvOS' do
  # Uncomment the next line if you're using Swift or would like to use dynamic frameworks
  # use_frameworks!

  # Pods for AppName-tvOS

  target 'AppName-tvOSTests' do
    inherit! :search_paths
    # Pods for testing
  end

end

target 'OneSignalNotificationServiceExtension' do
  pod 'OneSignal', '>= 2.14.2', '< 3.0'
end

pre_install do |installer|
  # workaround for https://github.com/CocoaPods/CocoaPods/issues/3289
  Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_static_framework_transitive_dependencies) {}
end

AppDelegate.m:

/*
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

#import <React/RCTBridge.h>
#import <React/RCTLog.h>
#import "Intercom/intercom.h"
#import "FreshchatSDK.h"

#import "AppDelegate.h"
#import <AppCenterReactNative.h>
#import <AppCenterReactNativeAnalytics.h>
#import <AppCenterReactNativeCrashes.h>
#import <CodePush/CodePush.h>
#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import <RNCPushNotificationIOS.h>

#import <React/RCTLinkingManager.h>
#if __has_include(<AppsFlyerLib/AppsFlyerTracker.h>)
#import <AppsFlyerLib/AppsFlyerTracker.h>
#else
#import "AppsFlyerTracker.h"
#endif

#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>
@import SupportSDK;
@import ZendeskCoreSDK;
@import Firebase;
@import AppsFlyerLib;

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  //enable debug on release mode, disable when release to user or in debug mode
  //RCTSetLogThreshold(RCTLogLevelInfo - 1);

  // Intercom
  [Intercom setApiKey:@""];

  // Dynamic Links
  [FIROptions defaultOptions].deepLinkURLScheme = @"id.AppName.release";

  // Firebase init
  [FIRApp configure];

  // Freshchat init
  NSString *FRESHCHAT_APP_ID = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"FreshchatAppId"];
  NSString *FRESHCHAT_APP_KEY = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"FreshchatAppKey"];

  FreshchatConfig *config = [[FreshchatConfig alloc]initWithAppID:FRESHCHAT_APP_ID  andAppKey:FRESHCHAT_APP_KEY];
  config.gallerySelectionEnabled = YES;
  config.cameraCaptureEnabled = YES;
  config.teamMemberInfoVisible = YES;
  config.showNotificationBanner = YES;
  config.responseExpectationVisible = YES;
  config.domain = @"msdk.au.freshchat.com";
  [[Freshchat sharedInstance] initWithConfig:config];

  [ZDKZendesk initializeWithAppId: @""
    clientId: @""
    zendeskUrl: @""];
  [ZDKSupport initializeWithZendesk: [ZDKZendesk instance]];
  id<ZDKObjCIdentity> userIdentity = [[ZDKObjCAnonymous alloc] initWithName:nil email:nil];
  [[ZDKZendesk instance] setIdentity:userIdentity];


  [AppCenterReactNativeCrashes registerWithAutomaticProcessing];  // Initialize AppCenter crashes

  [AppCenterReactNativeAnalytics registerWithInitiallyEnabled:true];  // Initialize AppCenter analytics

  [AppCenterReactNative register];  // Initialize AppCenter

  [[FBSDKApplicationDelegate sharedInstance] application:application
                           didFinishLaunchingWithOptions:launchOptions];

   RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions];
   RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge
                                                     moduleName:@"AppName"
                                              initialProperties:nil];


  // Sentry init
  UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
  center.delegate = self;


  rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1];

  self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
  UIViewController *rootViewController = [UIViewController new];
  rootViewController.view = rootView;
  self.window.rootViewController = rootViewController;
  [self.window makeKeyAndVisible];

  return YES;
}

- (BOOL)application:(UIApplication *)application
    openURL:(NSURL *)url
		options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {

    [[AppsFlyerTracker sharedTracker] handleOpenUrl:url options:options];

    BOOL handled = [[FBSDKApplicationDelegate sharedInstance] application:application
        openURL:url
		    sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey]
		    annotation:options[UIApplicationOpenURLOptionsAnnotationKey]
    		];

	return handled;
}

//Universal Links (iOS 9 +)
- (BOOL)application:(UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {
  [[AppsFlyerTracker sharedTracker] continueUserActivity:userActivity restorationHandler:restorationHandler];
  return YES;
}

- (void)applicationDidBecomeActive:(UIApplication *)application{
  /* Reset badge app count if so desired */
}

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken{
  [RNCPushNotificationIOS didRegisterForRemoteNotificationsWithDeviceToken:deviceToken];

  // notify AppsFlyerTracker
  [[AppsFlyerTracker sharedTracker] registerUninstall:deviceToken];
  // Intercom
  [Intercom setDeviceToken:deviceToken];
  // Freshchat
  [[Freshchat sharedInstance] setPushRegistrationToken:deviceToken];
}

- (void) application:(UIApplication *)app didReceiveRemoteNotification:(NSDictionary *)info{
}

// onesignal background notification
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
{
  [RNCPushNotificationIOS didReceiveRemoteNotification:userInfo fetchCompletionHandler:completionHandler];

  [self processPaymentInfo: userInfo];

  if ([[Freshchat sharedInstance]isFreshchatNotification:userInfo]) {
    [[Freshchat sharedInstance]handleRemoteNotification:userInfo andAppstate:application.applicationState];
  }
}

/* For devices running on ios 10 and above */
- (void)userNotificationCenter:(UNUserNotificationCenter *)center
       willPresentNotification:(UNNotification *)notification
         withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler {
          if ([[Freshchat sharedInstance]isFreshchatNotification:notification.request.content.userInfo]) {
            [[Freshchat sharedInstance]handleRemoteNotification:notification.request.content.userInfo andAppstate:[[UIApplication sharedApplication] applicationState]];
            completionHandler( UNAuthorizationOptionSound );
          } else {
              completionHandler( UNAuthorizationOptionAlert | UNAuthorizationOptionSound | UNAuthorizationOptionBadge );
          }
}

/* For devices running on ios 10 and above */
- (void)userNotificationCenter:(UNUserNotificationCenter *)center
didReceiveNotificationResponse:(UNNotificationResponse *)response
         withCompletionHandler:(void (^)(void))completionHandler {
  if ([[Freshchat sharedInstance]isFreshchatNotification:response.notification.request.content.userInfo]) {
    [[Freshchat sharedInstance]handleRemoteNotification:response.notification.request.content.userInfo andAppstate:[[UIApplication sharedApplication] applicationState]];
  }
  completionHandler();
}

- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings
{
  [RNCPushNotificationIOS didRegisterUserNotificationSettings:notificationSettings];
}

// Required for the registrationError event.
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error
{
  [RNCPushNotificationIOS didFailToRegisterForRemoteNotificationsWithError:error];
}
// Required for the localNotification event.
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
{
  [RNCPushNotificationIOS didReceiveLocalNotification:notification];
}

- (void)processPaymentInfo:(NSDictionary *) additionalData
{
  NSLog(@"ON NOTIFICATION PROCESSING");
  NSLog(@"%@", additionalData);

  NSLog(@"Finishing payment transaction");
  @try {
    int fee = [[additionalData valueForKey:@"biaya"] intValue];
    int status = [[additionalData valueForKey:@"statusTransaksi"] intValue];
    int transactionId = [[additionalData valueForKey:@"idTransaksi"] intValue];
    int transactionType = [[additionalData valueForKey:@"jenis_transaksi"] intValue];

    if (fee > 0 && status == 2) {
      [self finishPayment:transactionId withFee:fee];
    } else if (fee > 0 && status == 6 && transactionType == 6) {
      [self refundPayment:transactionId withFee:fee];
    }

  } @catch (NSException* e) {
    NSLog(@"Payment info exception => %@", e);
  }
}

- (void)finishPayment:(int) transactionId withFee:(int) fee {

  [FIRAnalytics logEventWithName:kFIREventEcommercePurchase parameters:@{
    kFIRParameterTransactionID: [NSString stringWithFormat:@"%d", transactionId],
    kFIRParameterValue: [NSString stringWithFormat:@"%d", fee],
    kFIRParameterCurrency: @"IDR"
  }];
}

- (void)refundPayment:(int) transactionId withFee:(int) fee {
  [FIRAnalytics logEventWithName:kFIREventPurchaseRefund parameters:@{
    kFIRParameterTransactionID: [NSString stringWithFormat:@"%d", transactionId],
    kFIRParameterValue: [NSString stringWithFormat:@"%d", fee],
    kFIRParameterCurrency: @"IDR"
  }];
}

- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
{
  #if DEBUG
    return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
  #else
    return [CodePush bundleURL];
  #endif
}


@end


Android

Click To Expand

Have you converted to AndroidX?

  • my application is an AndroidX application?
  • I am using android/gradle.settings jetifier=true for Android compatibility?
  • I am using the NPM package jetifier for react-native compatibility?

android/build.gradle:

// N/A

android/app/build.gradle:

// N/A

android/settings.gradle:

// N/A

MainApplication.java:

// N/A

AndroidManifest.xml:

<!-- N/A -->


Environment

Click To Expand

react-native info output:

System:
    OS: macOS 10.15.6
    CPU: (4) x64 Intel(R) Core(TM) i5-5287U CPU @ 2.90GHz
    Memory: 18.34 MB / 8.00 GB
    Shell: 3.2.57 - /bin/bash
  Binaries:
    Node: 14.5.0 - /usr/local/bin/node
    Yarn: 1.22.4 - /usr/local/bin/yarn
    npm: 6.14.5 - /usr/local/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  IDEs:
    Android Studio: 4.0 AI-193.6911.18.40.6626763
    Xcode: /undefined - /usr/bin/xcodebuild
  npmPackages:
    react: 16.9.0 => 16.9.0 
    react-native: ^0.61.5 => 0.61.5

  • Platform that you're experiencing the issue on:
    • iOS
    • Android
    • iOS but have not tested behavior on Android
    • Android but have not tested behavior on iOS
    • Both
  • react-native-firebase version you're using that has this issue:
"@react-native-firebase/analytics": "^7.6.1",
"@react-native-firebase/app": "^8.4.1",
"@react-native-firebase/crashlytics": "^8.4.2",
"@react-native-firebase/dynamic-links": "^7.5.2",
"@react-native-firebase/in-app-messaging": "^7.4.2",
"@react-native-firebase/messaging": "^7.8.4",
"@react-native-firebase/perf": "^7.4.2",
"@react-native-firebase/remote-config": "^9.0.3",
  • Firebase module(s) you're using that has the issue:
    • e.g. Instance ID
  • Are you using TypeScript?
    • N


Metadata

Metadata

Assignees

No one assigned

    Labels

    help: generalGeneral help wantedhelp: iosNeeds help implementing or reviewing a PR relating to iOS code.help: needs-triageIssue needs additional investigation/triaging.type: bugNew bug report

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions