-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Description
Issue
Accessing [UIApplication sharedApplication].delegate.window in a scene-based life-cycle app results in a runtime crash, because the window property is not populated by default. The window property is accessed in RNFBMessaging+NSNotificationCenter.m at line 81 and 153. The scene-based life-cycle is available since iOS 13 and will be required soon for all apps. See this technote for further details.
As a quick fix, we can test if the delegate responds to the window selector, before comparing it with != nil, to prevent the crash. But this approach prevents getting the React root view, which is used later to store the isHeadless property. I am not sure if this breaks the functionality of the messaging module in some way.
Project Files
Javascript
Click To Expand
package.json:
# N/Afirebase.json for react-native-firebase v6:
# N/AiOS
Click To Expand
ios/Podfile:
- I'm not using Pods
- I'm using Pods and my Podfile looks like:
# N/AAppDelegate.swift:
import UIKit
import FirebaseCore
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
) -> Bool {
FirebaseApp.configure()
return true
}
}Android
Click To Expand
Have you converted to AndroidX?
- my application is an AndroidX application?
- I am using
android/gradle.settingsjetifier=truefor Android compatibility? - I am using the NPM package
jetifierfor react-native compatibility?
android/build.gradle:
// N/Aandroid/app/build.gradle:
// N/Aandroid/settings.gradle:
// N/AMainApplication.java:
// N/AAndroidManifest.xml:
<!-- N/A -->Environment
Click To Expand
react-native info output:
OUTPUT GOES HERE
- 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-firebaseversion you're using that has this issue:e.g. 23.5.0
Firebasemodule(s) you're using that has the issue:e.g. Messaging
- Are you using
TypeScript?Y&5.5.4
- 👉 Check out
React Native FirebaseandInvertaseon Twitter for updates on the library.