The app is crashing every time it gets new push notification in iOS 14 public beta.
Even if the app is in the background then also it is crashing on new push notifications.
Here are details/SS on where it is crashing:
Path: Pods/Development Pods/RNFBMessaging/RNFBMessaging+AppDelegate.m
Line number: 125
Here is the log from Xcode console:
2020-07-15 10:55:36.457389+0530 Yac[840:85040] [javascript] Running "Yac" with {"rootTag":1,"initialProps":{"isHeadless":false}}
2020-07-15 10:55:36.476670+0530 Yac[840:84824] [native] [GESTURE HANDLER] Initialize gesture handler for root view <RCTRootContentView: 0x106528880; reactTag: 1; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x283963bd0>; layer = <CALayer: 0x2831412e0>>
2020-07-15 10:55:43.928435+0530 Yac[840:85046] BackgroundSession <5A01E8D4-2071-4ED8-A69D-6BF8A6438FA2> connection to background transfer daemon invalidated
2020-07-15 10:56:32.667415+0530 Yac[840:85051] dnssd_clientstub write_all(33) DEFUNCT
2020-07-15 10:56:32.667437+0530 Yac[840:85051] dnssd_clientstub deliver_request ERROR: write_all(33, 50 bytes) failed
2020-07-15 10:56:32.667455+0530 Yac[840:85051] dnssd_clientstub write_all(33) DEFUNCT
2020-07-15 10:56:32.667942+0530 Yac[840:85160] [connection] nw_read_request_report [C18] Receive failed with error "Software caused connection abort"
2020-07-15 10:56:32.668385+0530 Yac[840:85160] [connection] nw_read_request_report [C15] Receive failed with error "Software caused connection abort"
2020-07-15 10:56:32.669124+0530 Yac[840:85160] [connection] nw_read_request_report [C10] Receive failed with error "Software caused connection abort"
2020-07-15 10:56:32.669244+0530 Yac[840:85160] [connection] nw_read_request_report [C11] Receive failed with error "Software caused connection abort"
2020-07-15 10:56:34.019286+0530 Yac[840:85906] BackgroundSession <6EBD8A5E-6E77-41DD-B61C-D1729FD5D711> connection to background transfer daemon invalidated
2020-07-15 10:57:04.369237+0530 Yac[840:86461] SocketStream read error [0x280028fd0]: 1 57
2020-07-15 10:57:04.369306+0530 Yac[840:86457] SocketStream read error [0x280028c60]: 1 57
2020-07-15 10:57:04.369693+0530 Yac[840:86457] SocketStream read error [0x280028a50]: 1 57
2020-07-15 10:57:04.370628+0530 Yac[840:86457] [native] Error occurred, shutting down websocket connection: Websocket exception Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={_kCFStreamErrorCodeKey=57, _kCFStreamErrorDomainKey=1}
2020-07-15 10:57:04.371719+0530 Yac[840:85905] [connection] nw_socket_handle_socket_event [C20.1:1] Socket SO_ERROR [9: Bad file descriptor]
2020-07-15 10:57:04.372047+0530 Yac[840:85905] [connection] nw_socket_get_input_frames [C20.1:1] recvmsg(fd 8, 1024 bytes) [57: Socket is not connected]
2020-07-15 10:57:04.372547+0530 Yac[840:85905] [connection] nw_socket_handle_socket_event [C17.1:1] Socket SO_ERROR [9: Bad file descriptor]
2020-07-15 10:57:04.372654+0530 Yac[840:85905] [connection] nw_socket_get_input_frames [C17.1:1] recvmsg(fd 34, 1024 bytes) [57: Socket is not connected]
2020-07-15 10:57:04.372735+0530 Yac[840:85905] [connection] nw_socket_handle_socket_event [C3:1] Socket SO_ERROR [9: Bad file descriptor]
2020-07-15 10:57:04.374597+0530 Yac[840:85040] [javascript] Cannot connect to the Metro server.
Try the following to fix the issue:
- Ensure that the Metro server is running and available on the same network
- Ensure that the Metro server URL is correctly set in AppDelegate
URL: 192.168.0.108:8081
Error: The operation couldn鈥檛 be completed. Socket is not connected
2020-07-15 10:57:04.376680+0530 Yac[840:85905] [connection] nw_socket_get_input_frames [C3:1] recvmsg(fd 36, 1024 bytes) [57: Socket is not connected]
2020-07-15 10:57:04.376803+0530 Yac[840:85905] [connection] nw_socket_handle_socket_event [C4:1] Socket SO_ERROR [9: Bad file descriptor]
2020-07-15 10:57:04.376882+0530 Yac[840:85905] [connection] nw_socket_get_input_frames [C4:1] recvmsg(fd 40, 1024 bytes) [57: Socket is not connected]
2020-07-15 10:57:04.376948+0530 Yac[840:85905] [connection] nw_socket_handle_socket_event [C8:1] Socket SO_ERROR [9: Bad file descriptor]
2020-07-15 10:57:04.378674+0530 Yac[840:85905] [connection] nw_socket_get_input_frames [C8:1] recvmsg(fd 54, 1024 bytes) [57: Socket is not connected]
2020-07-15 10:57:04.378990+0530 Yac[840:85905] [connection] nw_read_request_report [C24] Receive failed with error "Software caused connection abort"
2020-07-15 10:57:04.379107+0530 Yac[840:85905] [connection] nw_read_request_report [C21] Receive failed with error "Software caused connection abort"
2020-07-15 10:57:04.380156+0530 Yac[840:85905] [connection] nw_read_request_report [C23] Receive failed with error "Software caused connection abort"
2020-07-15 10:57:04.380321+0530 Yac[840:85905] [connection] nw_read_request_report [C25] Receive failed with error "Software caused connection abort"
2020-07-15 10:57:04.725876+0530 Yac[840:85051] dnssd_clientstub write_all(33) DEFUNCT
2020-07-15 10:57:04.725934+0530 Yac[840:85051] dnssd_clientstub deliver_request ERROR: write_all(33, 50 bytes) failed
2020-07-15 10:57:04.725959+0530 Yac[840:85051] dnssd_clientstub write_all(33) DEFUNCT
Click To Expand
#### `ios/Podfile`: - [ ] I'm not using Pods - [x] I'm using Pods and my Podfile looks like:
require_relative '../node_modules/react-native/scripts/react_native_pods'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
platform :ios, '10.0'
target 'Yac' do
# Pods for Yac
permissions_path = '../node_modules/react-native-permissions/ios'
pod 'Permission-Camera', :path => "#{permissions_path}/Camera.podspec"
pod 'Permission-Notifications', :path => "#{permissions_path}/Notifications.podspec"
pod 'Permission-PhotoLibrary', :path => "#{permissions_path}/PhotoLibrary.podspec"
pod 'Permission-Microphone', :path => "#{permissions_path}/Microphone.podspec"
pod 'Permission-MediaLibrary', :path => "#{permissions_path}/MediaLibrary.podspec"
config = use_native_modules!
use_react_native!(:path => config["reactNativePath"])
use_flipper!
post_install do |installer|
flipper_post_install(installer)
end
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 "AppDelegate.h"
#import "RNSplashScreen.h"
#import </p>
</details>
---
### Android
<details><summary>Click To Expand</summary>
<p>
#### `android/build.gradle`:
```groovy
// N/A
#### `android/app/build.gradle`:
// N/A
#### `android/settings.gradle`:
// N/A
#### `MainApplication.java`:
// N/A
#### `AndroidManifest.xml`:
<!-- N/A -->
Click To Expand
**`react-native info` output:**
info Fetching system and libraries information...
System:
OS: macOS 10.15.5
CPU: (8) x64 Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz
Memory: 5.72 GB / 32.00 GB
Shell: 5.7.1 - /bin/zsh
Binaries:
Node: 14.3.0 - /usr/local/bin/node
Yarn: Not Found
npm: 6.14.4 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
Managers:
CocoaPods: 1.9.1 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: iOS 13.5, DriverKit 19.0, macOS 10.15, tvOS 13.4, watchOS 6.2
Android SDK:
API Levels: 28, 29
Build Tools: 28.0.3, 29.0.2, 29.0.3
System Images: android-25 | Google APIs Intel x86 Atom, android-25 | Google APIs Intel x86 Atom_64, android-29 | Google APIs Intel x86 Atom, android-29 | Google Play Intel x86 Atom_64
Android NDK: Not Found
IDEs:
Android Studio: 4.0 AI-193.6911.18.40.6514223
Xcode: 11.5/11E608c - /usr/bin/xcodebuild
Languages:
Java: 1.8.0_252 - /usr/bin/javac
Python: 2.7.16 - /usr/bin/python
npmPackages:
@react-native-community/cli: Not Found
react: 16.13.1 => 16.13.1
react-native: 0.63.0 => 0.63.0
npmGlobalPackages:
*react-native*: Not Found
Packages information:
"@react-native-firebase/analytics": "^7.3.1",
"@react-native-firebase/app": "^8.2.0",
"@react-native-firebase/database": "^7.3.2",
"@react-native-firebase/messaging": "^7.4.2"
- **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
- **`Firebase` module(s) you're using that has the issue:**
- `Messaging`
- **Are you using `TypeScript`?**
- `N`
React Native Firebase
and Invertase
on Twitter for updates on the library.Added logs and it leads here:
Commenting out this line fixes the crash but then push notification is not showing when the app is in foreground while it is working fine for terminated and background state.
Please don't post screenshots. Text is strongly preferred.
Have you looked in firebase-ios-sdk upstream to see if they are tracking anything related? https://github.com/firebase/firebase-ios-sdk
I know for unrelated reasons the GoogleUtilities object is under heavy construction at the moment (that's where GULAppDelegateSwizzler comes from - 'GUL' is "Google Utilities Library", e.g. #3938
@umang-simform please re-try with fully up to date everything (ios pods 6.28.0 and google utilities 6.7.1 - it was released just minutes ago, which is why I write this now) to see if this continues
@timothystewart6 that was the fun and excitement from yesterday and that PR and utilities release is welcome, but they may still have some iOS14 issues (it's a beta after all, released to find these things now, like we are...) so even after update @umang-simform may still reproduce, we'll see...
I experienced myself too yesterday! When I searched the Googles for the error and and saw results from years ago I thought it was just men and rolled it back. :)
@mikehardy I will not attach SS from now onwards. Also, let me try with the new SDK today. Will keep you updated.
So I run pod update
and here is the output. Looks like 1 dependency has been renamed while 4 are updated.
Update all pods
Updating local specs repositories
CocoaPods 1.9.3 is available.
To update use: `gem install cocoapods`
For more information, see https://blog.cocoapods.org and the CHANGELOG for this version at https://github.com/CocoaPods/CocoaPods/releases/tag/1.9.3
Analyzing dependencies
Fetching podspec for `DoubleConversion` from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`
Fetching podspec for `Folly` from `../node_modules/react-native/third-party-podspecs/Folly.podspec`
Fetching podspec for `glog` from `../node_modules/react-native/third-party-podspecs/glog.podspec`
Downloading dependencies
Installing FirebaseCoreDiagnostics 1.5.0 (was 1.4.0 and source changed to `https://cdn.cocoapods.org/` from `trunk`)
Installing FirebaseInstallations 1.5.0 (was 1.4.0 and source changed to `https://cdn.cocoapods.org/` from `trunk`)
Installing FirebaseInstanceID 4.5.0 (was 4.4.0 and source changed to `https://cdn.cocoapods.org/` from `trunk`)
Installing GoogleDataTransport 7.0.0 (was 6.2.1 and source changed to `https://cdn.cocoapods.org/` from `trunk`)
Installing GoogleUtilities 6.7.1 (was 6.6.0)
Removing GoogleDataTransportCCTSupport
Generating Pods project
Integrating client project
Pod installation complete! There are 90 dependencies from the Podfile and 108 total pods installed.
But after all of this, Now I am not getting push notifications at all :( .
I am wondering if these changes require any changes in our RNFB packages. I also tried adding log in AppDelegate.m as following but not getting logs there as well:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(nonnull NSDictionary *)userInfo
fetchCompletionHandler:(nonnull void (^)(UIBackgroundFetchResult))completionHandler{
NSLog(@"Notification :: %@", userInfo);
}
Also, I figured out that I need to override iOS SDK from podfile by adding following line:
$FirebaseSDKVersion = '6.28.1'
After adding this line, I deleted node_modules, podfile.lock and pods folder and then performed fresh installation.
And now it downloaded latest version for all the firebase related stuff. And my podfile.lock looks like this:
PODS:
- appcenter-analytics (3.1.0):
- AppCenter/Analytics
- AppCenterReactNativeShared
- React
- appcenter-core (3.1.0):
- AppCenterReactNativeShared
- React
- appcenter-crashes (3.1.0):
- AppCenter/Crashes
- AppCenterReactNativeShared
- React
- AppCenter/Analytics (3.3.1):
- AppCenter/Core
- AppCenter/Core (3.3.1)
- AppCenter/Crashes (3.3.1):
- AppCenter/Core
- AppCenterReactNativeShared (3.1.0):
- AppCenter/Core (= 3.3.1)
- Base64 (1.1.2)
- boost-for-react-native (1.63.0)
- CocoaAsyncSocket (7.6.4)
- CocoaLibEvent (1.0.0)
- CodePush (6.2.1):
- Base64 (~> 1.1)
- JWT (~> 3.0.0-beta.7)
- React
- SSZipArchive (~> 2.1)
- DoubleConversion (1.1.6)
- FBLazyVector (0.63.0)
- FBReactNativeSpec (0.63.0):
- Folly (= 2020.01.13.00)
- RCTRequired (= 0.63.0)
- RCTTypeSafety (= 0.63.0)
- React-Core (= 0.63.0)
- React-jsi (= 0.63.0)
- ReactCommon/turbomodule/core (= 0.63.0)
- Firebase/Analytics (6.28.1):
- Firebase/Core
- Firebase/Core (6.28.1):
- Firebase/CoreOnly
- FirebaseAnalytics (= 6.6.2)
- Firebase/CoreOnly (6.28.1):
- FirebaseCore (= 6.9.1)
- Firebase/Database (6.28.1):
- Firebase/CoreOnly
- FirebaseDatabase (~> 6.4.0)
- Firebase/Messaging (6.28.1):
- Firebase/CoreOnly
- FirebaseMessaging (~> 4.6.0)
- FirebaseAnalytics (6.6.2):
- FirebaseCore (~> 6.8)
- FirebaseInstallations (~> 1.4)
- GoogleAppMeasurement (= 6.6.2)
- GoogleUtilities/AppDelegateSwizzler (~> 6.0)
- GoogleUtilities/MethodSwizzler (~> 6.0)
- GoogleUtilities/Network (~> 6.0)
- "GoogleUtilities/NSData+zlib (~> 6.0)"
- nanopb (~> 1.30905.0)
- FirebaseCore (6.9.1):
- FirebaseCoreDiagnostics (~> 1.3)
- GoogleUtilities/Environment (~> 6.7)
- GoogleUtilities/Logger (~> 6.7)
- FirebaseCoreDiagnostics (1.5.0):
- GoogleDataTransport (~> 7.0)
- GoogleUtilities/Environment (~> 6.7)
- GoogleUtilities/Logger (~> 6.7)
- nanopb (~> 1.30905.0)
- FirebaseDatabase (6.4.0):
- FirebaseCore (~> 6.8)
- leveldb-library (~> 1.22)
- FirebaseInstallations (1.5.0):
- FirebaseCore (~> 6.8)
- GoogleUtilities/Environment (~> 6.7)
- GoogleUtilities/UserDefaults (~> 6.7)
- PromisesObjC (~> 1.2)
- FirebaseInstanceID (4.5.0):
- FirebaseCore (~> 6.8)
- FirebaseInstallations (~> 1.0)
- GoogleUtilities/Environment (~> 6.7)
- GoogleUtilities/UserDefaults (~> 6.7)
- FirebaseMessaging (4.6.0):
- FirebaseCore (~> 6.8)
- FirebaseInstanceID (~> 4.3)
- GoogleUtilities/AppDelegateSwizzler (~> 6.7)
- GoogleUtilities/Environment (~> 6.7)
- GoogleUtilities/Reachability (~> 6.7)
- GoogleUtilities/UserDefaults (~> 6.7)
- Protobuf (>= 3.9.2, ~> 3.9)
- Flipper (0.41.5):
- Flipper-Folly (~> 2.2)
- Flipper-RSocket (~> 1.1)
- Flipper-DoubleConversion (1.1.7)
- Flipper-Folly (2.2.0):
- boost-for-react-native
- CocoaLibEvent (~> 1.0)
- Flipper-DoubleConversion
- Flipper-Glog
- OpenSSL-Universal (= 1.0.2.19)
- Flipper-Glog (0.3.6)
- Flipper-PeerTalk (0.0.4)
- Flipper-RSocket (1.1.0):
- Flipper-Folly (~> 2.2)
- FlipperKit (0.41.5):
- FlipperKit/Core (= 0.41.5)
- FlipperKit/Core (0.41.5):
- Flipper (~> 0.41.5)
- FlipperKit/CppBridge
- FlipperKit/FBCxxFollyDynamicConvert
- FlipperKit/FBDefines
- FlipperKit/FKPortForwarding
- FlipperKit/CppBridge (0.41.5):
- Flipper (~> 0.41.5)
- FlipperKit/FBCxxFollyDynamicConvert (0.41.5):
- Flipper-Folly (~> 2.2)
- FlipperKit/FBDefines (0.41.5)
- FlipperKit/FKPortForwarding (0.41.5):
- CocoaAsyncSocket (~> 7.6)
- Flipper-PeerTalk (~> 0.0.4)
- FlipperKit/FlipperKitHighlightOverlay (0.41.5)
- FlipperKit/FlipperKitLayoutPlugin (0.41.5):
- FlipperKit/Core
- FlipperKit/FlipperKitHighlightOverlay
- FlipperKit/FlipperKitLayoutTextSearchable
- YogaKit (~> 1.18)
- FlipperKit/FlipperKitLayoutTextSearchable (0.41.5)
- FlipperKit/FlipperKitNetworkPlugin (0.41.5):
- FlipperKit/Core
- FlipperKit/FlipperKitReactPlugin (0.41.5):
- FlipperKit/Core
- FlipperKit/FlipperKitUserDefaultsPlugin (0.41.5):
- FlipperKit/Core
- FlipperKit/SKIOSNetworkPlugin (0.41.5):
- FlipperKit/Core
- FlipperKit/FlipperKitNetworkPlugin
- Folly (2020.01.13.00):
- boost-for-react-native
- DoubleConversion
- Folly/Default (= 2020.01.13.00)
- glog
- Folly/Default (2020.01.13.00):
- boost-for-react-native
- DoubleConversion
- glog
- glog (0.3.5)
- GoogleAppMeasurement (6.6.2):
- GoogleUtilities/AppDelegateSwizzler (~> 6.0)
- GoogleUtilities/MethodSwizzler (~> 6.0)
- GoogleUtilities/Network (~> 6.0)
- "GoogleUtilities/NSData+zlib (~> 6.0)"
- nanopb (~> 1.30905.0)
- GoogleDataTransport (7.0.0):
- nanopb (~> 1.30905.0)
- GoogleUtilities/AppDelegateSwizzler (6.7.1):
- GoogleUtilities/Environment
- GoogleUtilities/Logger
- GoogleUtilities/Network
- GoogleUtilities/Environment (6.7.1):
- PromisesObjC (~> 1.2)
- GoogleUtilities/Logger (6.7.1):
- GoogleUtilities/Environment
- GoogleUtilities/MethodSwizzler (6.7.1):
- GoogleUtilities/Logger
- GoogleUtilities/Network (6.7.1):
- GoogleUtilities/Logger
- "GoogleUtilities/NSData+zlib"
- GoogleUtilities/Reachability
- "GoogleUtilities/NSData+zlib (6.7.1)"
- GoogleUtilities/Reachability (6.7.1):
- GoogleUtilities/Logger
- GoogleUtilities/UserDefaults (6.7.1):
- GoogleUtilities/Logger
- Intercom (6.1.0)
- JWT (3.0.0-beta.12):
- Base64 (~> 1.1.2)
- leveldb-library (1.22)
- libwebp (1.1.0):
- libwebp/demux (= 1.1.0)
- libwebp/mux (= 1.1.0)
- libwebp/webp (= 1.1.0)
- libwebp/demux (1.1.0):
- libwebp/webp
- libwebp/mux (1.1.0):
- libwebp/demux
- libwebp/webp (1.1.0)
- Mixpanel (3.6.1)
- nanopb (1.30905.0):
- nanopb/decode (= 1.30905.0)
- nanopb/encode (= 1.30905.0)
- nanopb/decode (1.30905.0)
- nanopb/encode (1.30905.0)
- OpenSSL-Universal (1.0.2.19):
- OpenSSL-Universal/Static (= 1.0.2.19)
- OpenSSL-Universal/Static (1.0.2.19)
- Permission-Camera (2.1.5):
- RNPermissions
- Permission-MediaLibrary (2.1.5):
- RNPermissions
- Permission-Microphone (2.1.5):
- RNPermissions
- Permission-Notifications (2.1.5):
- RNPermissions
- Permission-PhotoLibrary (2.1.5):
- RNPermissions
- PromisesObjC (1.2.9)
- Protobuf (3.12.0)
- RCTCallDetection (1.8.2):
- React
- RCTRequired (0.63.0)
- RCTTypeSafety (0.63.0):
- FBLazyVector (= 0.63.0)
- Folly (= 2020.01.13.00)
- RCTRequired (= 0.63.0)
- React-Core (= 0.63.0)
- React (0.63.0):
- React-Core (= 0.63.0)
- React-Core/DevSupport (= 0.63.0)
- React-Core/RCTWebSocket (= 0.63.0)
- React-RCTActionSheet (= 0.63.0)
- React-RCTAnimation (= 0.63.0)
- React-RCTBlob (= 0.63.0)
- React-RCTImage (= 0.63.0)
- React-RCTLinking (= 0.63.0)
- React-RCTNetwork (= 0.63.0)
- React-RCTSettings (= 0.63.0)
- React-RCTText (= 0.63.0)
- React-RCTVibration (= 0.63.0)
- React-callinvoker (0.63.0)
- React-Core (0.63.0):
- Folly (= 2020.01.13.00)
- glog
- React-Core/Default (= 0.63.0)
- React-cxxreact (= 0.63.0)
- React-jsi (= 0.63.0)
- React-jsiexecutor (= 0.63.0)
- Yoga
- React-Core/CoreModulesHeaders (0.63.0):
- Folly (= 2020.01.13.00)
- glog
- React-Core/Default
- React-cxxreact (= 0.63.0)
- React-jsi (= 0.63.0)
- React-jsiexecutor (= 0.63.0)
- Yoga
- React-Core/Default (0.63.0):
- Folly (= 2020.01.13.00)
- glog
- React-cxxreact (= 0.63.0)
- React-jsi (= 0.63.0)
- React-jsiexecutor (= 0.63.0)
- Yoga
- React-Core/DevSupport (0.63.0):
- Folly (= 2020.01.13.00)
- glog
- React-Core/Default (= 0.63.0)
- React-Core/RCTWebSocket (= 0.63.0)
- React-cxxreact (= 0.63.0)
- React-jsi (= 0.63.0)
- React-jsiexecutor (= 0.63.0)
- React-jsinspector (= 0.63.0)
- Yoga
- React-Core/RCTActionSheetHeaders (0.63.0):
- Folly (= 2020.01.13.00)
- glog
- React-Core/Default
- React-cxxreact (= 0.63.0)
- React-jsi (= 0.63.0)
- React-jsiexecutor (= 0.63.0)
- Yoga
- React-Core/RCTAnimationHeaders (0.63.0):
- Folly (= 2020.01.13.00)
- glog
- React-Core/Default
- React-cxxreact (= 0.63.0)
- React-jsi (= 0.63.0)
- React-jsiexecutor (= 0.63.0)
- Yoga
- React-Core/RCTBlobHeaders (0.63.0):
- Folly (= 2020.01.13.00)
- glog
- React-Core/Default
- React-cxxreact (= 0.63.0)
- React-jsi (= 0.63.0)
- React-jsiexecutor (= 0.63.0)
- Yoga
- React-Core/RCTImageHeaders (0.63.0):
- Folly (= 2020.01.13.00)
- glog
- React-Core/Default
- React-cxxreact (= 0.63.0)
- React-jsi (= 0.63.0)
- React-jsiexecutor (= 0.63.0)
- Yoga
- React-Core/RCTLinkingHeaders (0.63.0):
- Folly (= 2020.01.13.00)
- glog
- React-Core/Default
- React-cxxreact (= 0.63.0)
- React-jsi (= 0.63.0)
- React-jsiexecutor (= 0.63.0)
- Yoga
- React-Core/RCTNetworkHeaders (0.63.0):
- Folly (= 2020.01.13.00)
- glog
- React-Core/Default
- React-cxxreact (= 0.63.0)
- React-jsi (= 0.63.0)
- React-jsiexecutor (= 0.63.0)
- Yoga
- React-Core/RCTSettingsHeaders (0.63.0):
- Folly (= 2020.01.13.00)
- glog
- React-Core/Default
- React-cxxreact (= 0.63.0)
- React-jsi (= 0.63.0)
- React-jsiexecutor (= 0.63.0)
- Yoga
- React-Core/RCTTextHeaders (0.63.0):
- Folly (= 2020.01.13.00)
- glog
- React-Core/Default
- React-cxxreact (= 0.63.0)
- React-jsi (= 0.63.0)
- React-jsiexecutor (= 0.63.0)
- Yoga
- React-Core/RCTVibrationHeaders (0.63.0):
- Folly (= 2020.01.13.00)
- glog
- React-Core/Default
- React-cxxreact (= 0.63.0)
- React-jsi (= 0.63.0)
- React-jsiexecutor (= 0.63.0)
- Yoga
- React-Core/RCTWebSocket (0.63.0):
- Folly (= 2020.01.13.00)
- glog
- React-Core/Default (= 0.63.0)
- React-cxxreact (= 0.63.0)
- React-jsi (= 0.63.0)
- React-jsiexecutor (= 0.63.0)
- Yoga
- React-CoreModules (0.63.0):
- FBReactNativeSpec (= 0.63.0)
- Folly (= 2020.01.13.00)
- RCTTypeSafety (= 0.63.0)
- React-Core/CoreModulesHeaders (= 0.63.0)
- React-jsi (= 0.63.0)
- React-RCTImage (= 0.63.0)
- ReactCommon/turbomodule/core (= 0.63.0)
- React-cxxreact (0.63.0):
- boost-for-react-native (= 1.63.0)
- DoubleConversion
- Folly (= 2020.01.13.00)
- glog
- React-callinvoker (= 0.63.0)
- React-jsinspector (= 0.63.0)
- React-jsi (0.63.0):
- boost-for-react-native (= 1.63.0)
- DoubleConversion
- Folly (= 2020.01.13.00)
- glog
- React-jsi/Default (= 0.63.0)
- React-jsi/Default (0.63.0):
- boost-for-react-native (= 1.63.0)
- DoubleConversion
- Folly (= 2020.01.13.00)
- glog
- React-jsiexecutor (0.63.0):
- DoubleConversion
- Folly (= 2020.01.13.00)
- glog
- React-cxxreact (= 0.63.0)
- React-jsi (= 0.63.0)
- React-jsinspector (0.63.0)
- react-native-camera (3.31.1):
- React
- react-native-camera/RCT (= 3.31.1)
- react-native-camera/RN (= 3.31.1)
- react-native-camera/RCT (3.31.1):
- React
- react-native-camera/RN (3.31.1):
- React
- react-native-flipper (0.47.0):
- React
- react-native-intercom (16.0.0):
- Intercom (~> 6.1.0)
- React
- react-native-keep-awake (4.0.0):
- React
- react-native-mixpanel (1.2.0):
- Mixpanel (~> 3.6.0)
- React
- react-native-netinfo (5.9.4):
- React
- react-native-orientation-locker (1.1.8):
- React
- react-native-safe-area-context (3.1.1):
- React
- react-native-splash-screen (3.2.0):
- React
- react-native-video (5.1.0-alpha1):
- React
- react-native-video/Video (= 5.1.0-alpha1)
- react-native-video/Video (5.1.0-alpha1):
- React
- react-native-viewpager (4.1.0):
- React
- react-native-webview (10.3.2):
- React
- React-RCTActionSheet (0.63.0):
- React-Core/RCTActionSheetHeaders (= 0.63.0)
- React-RCTAnimation (0.63.0):
- FBReactNativeSpec (= 0.63.0)
- Folly (= 2020.01.13.00)
- RCTTypeSafety (= 0.63.0)
- React-Core/RCTAnimationHeaders (= 0.63.0)
- React-jsi (= 0.63.0)
- ReactCommon/turbomodule/core (= 0.63.0)
- React-RCTBlob (0.63.0):
- FBReactNativeSpec (= 0.63.0)
- Folly (= 2020.01.13.00)
- React-Core/RCTBlobHeaders (= 0.63.0)
- React-Core/RCTWebSocket (= 0.63.0)
- React-jsi (= 0.63.0)
- React-RCTNetwork (= 0.63.0)
- ReactCommon/turbomodule/core (= 0.63.0)
- React-RCTImage (0.63.0):
- FBReactNativeSpec (= 0.63.0)
- Folly (= 2020.01.13.00)
- RCTTypeSafety (= 0.63.0)
- React-Core/RCTImageHeaders (= 0.63.0)
- React-jsi (= 0.63.0)
- React-RCTNetwork (= 0.63.0)
- ReactCommon/turbomodule/core (= 0.63.0)
- React-RCTLinking (0.63.0):
- FBReactNativeSpec (= 0.63.0)
- React-Core/RCTLinkingHeaders (= 0.63.0)
- React-jsi (= 0.63.0)
- ReactCommon/turbomodule/core (= 0.63.0)
- React-RCTNetwork (0.63.0):
- FBReactNativeSpec (= 0.63.0)
- Folly (= 2020.01.13.00)
- RCTTypeSafety (= 0.63.0)
- React-Core/RCTNetworkHeaders (= 0.63.0)
- React-jsi (= 0.63.0)
- ReactCommon/turbomodule/core (= 0.63.0)
- React-RCTSettings (0.63.0):
- FBReactNativeSpec (= 0.63.0)
- Folly (= 2020.01.13.00)
- RCTTypeSafety (= 0.63.0)
- React-Core/RCTSettingsHeaders (= 0.63.0)
- React-jsi (= 0.63.0)
- ReactCommon/turbomodule/core (= 0.63.0)
- React-RCTText (0.63.0):
- React-Core/RCTTextHeaders (= 0.63.0)
- React-RCTVibration (0.63.0):
- FBReactNativeSpec (= 0.63.0)
- Folly (= 2020.01.13.00)
- React-Core/RCTVibrationHeaders (= 0.63.0)
- React-jsi (= 0.63.0)
- ReactCommon/turbomodule/core (= 0.63.0)
- ReactCommon/turbomodule/core (0.63.0):
- DoubleConversion
- Folly (= 2020.01.13.00)
- glog
- React-callinvoker (= 0.63.0)
- React-Core (= 0.63.0)
- React-cxxreact (= 0.63.0)
- React-jsi (= 0.63.0)
- rn-fetch-blob (0.12.0):
- React-Core
- RNAudioRecorderPlayer (2.5.2):
- React
- RNCAsyncStorage (1.11.0):
- React
- RNCClipboard (1.2.3):
- React
- RNCMaskedView (0.1.10):
- React
- RNFastImage (8.1.5):
- React
- SDWebImage (~> 5.0)
- SDWebImageWebPCoder (~> 0.4.1)
- RNFBAnalytics (7.3.1):
- Firebase/Analytics (= 6.28.1)
- React
- RNFBApp
- RNFBApp (8.2.0):
- Firebase/CoreOnly (= 6.28.1)
- React
- RNFBDatabase (7.3.2):
- Firebase/Database (= 6.28.1)
- React
- RNFBApp
- RNFBMessaging (7.4.2):
- Firebase/Analytics (= 6.28.1)
- Firebase/Messaging (= 6.28.1)
- React
- RNFBApp
- RNGestureHandler (1.6.1):
- React
- RNImageCropPicker (0.32.2):
- React-Core
- React-RCTImage
- RNImageCropPicker/QBImagePickerController (= 0.32.2)
- TOCropViewController
- RNImageCropPicker/QBImagePickerController (0.32.2):
- React-Core
- React-RCTImage
- TOCropViewController
- RNNotifee (0.9.1):
- React
- RNPermissions (2.1.5):
- React
- RNReactNativeHapticFeedback (1.10.0):
- React
- RNReanimated (1.9.0):
- React
- RNScreens (2.9.0):
- React
- RNSentry (1.6.2):
- React
- Sentry (~> 5.1.8)
- RNShare (3.7.0):
- React
- RNTextSize (4.0.0-rc.1):
- React
- SDWebImage (5.8.3):
- SDWebImage/Core (= 5.8.3)
- SDWebImage/Core (5.8.3)
- SDWebImageWebPCoder (0.4.1):
- libwebp (~> 1.0)
- SDWebImage/Core (~> 5.5)
- Sentry (5.1.9):
- Sentry/Core (= 5.1.9)
- Sentry/Core (5.1.9)
- SSZipArchive (2.2.3)
- TOCropViewController (2.5.3)
- toolbar-android (0.1.0-rc.2):
- React
- Yoga (1.14.0)
- YogaKit (1.18.1):
- Yoga (~> 1.14)
DEPENDENCIES:
- appcenter-analytics (from `../node_modules/appcenter-analytics/ios`)
- appcenter-core (from `../node_modules/appcenter/ios`)
- appcenter-crashes (from `../node_modules/appcenter-crashes/ios`)
- CodePush (from `../node_modules/react-native-code-push`)
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
- FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
- FBReactNativeSpec (from `../node_modules/react-native/Libraries/FBReactNativeSpec`)
- Flipper (~> 0.41.1)
- Flipper-DoubleConversion (= 1.1.7)
- Flipper-Folly (~> 2.2)
- Flipper-Glog (= 0.3.6)
- Flipper-PeerTalk (~> 0.0.4)
- Flipper-RSocket (~> 1.1)
- FlipperKit (~> 0.41.1)
- FlipperKit/Core (~> 0.41.1)
- FlipperKit/CppBridge (~> 0.41.1)
- FlipperKit/FBCxxFollyDynamicConvert (~> 0.41.1)
- FlipperKit/FBDefines (~> 0.41.1)
- FlipperKit/FKPortForwarding (~> 0.41.1)
- FlipperKit/FlipperKitHighlightOverlay (~> 0.41.1)
- FlipperKit/FlipperKitLayoutPlugin (~> 0.41.1)
- FlipperKit/FlipperKitLayoutTextSearchable (~> 0.41.1)
- FlipperKit/FlipperKitNetworkPlugin (~> 0.41.1)
- FlipperKit/FlipperKitReactPlugin (~> 0.41.1)
- FlipperKit/FlipperKitUserDefaultsPlugin (~> 0.41.1)
- FlipperKit/SKIOSNetworkPlugin (~> 0.41.1)
- Folly (from `../node_modules/react-native/third-party-podspecs/Folly.podspec`)
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
- Permission-Camera (from `../node_modules/react-native-permissions/ios/Camera.podspec`)
- Permission-MediaLibrary (from `../node_modules/react-native-permissions/ios/MediaLibrary.podspec`)
- Permission-Microphone (from `../node_modules/react-native-permissions/ios/Microphone.podspec`)
- Permission-Notifications (from `../node_modules/react-native-permissions/ios/Notifications.podspec`)
- Permission-PhotoLibrary (from `../node_modules/react-native-permissions/ios/PhotoLibrary.podspec`)
- RCTCallDetection (from `../node_modules/react-native-call-detection`)
- RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`)
- RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`)
- React (from `../node_modules/react-native/`)
- React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`)
- React-Core (from `../node_modules/react-native/`)
- React-Core/DevSupport (from `../node_modules/react-native/`)
- React-Core/RCTWebSocket (from `../node_modules/react-native/`)
- React-CoreModules (from `../node_modules/react-native/React/CoreModules`)
- React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`)
- React-jsi (from `../node_modules/react-native/ReactCommon/jsi`)
- React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`)
- React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`)
- react-native-camera (from `../node_modules/react-native-camera`)
- react-native-flipper (from `../node_modules/react-native-flipper`)
- react-native-intercom (from `../node_modules/react-native-intercom`)
- react-native-keep-awake (from `../node_modules/react-native-keep-awake`)
- react-native-mixpanel (from `../node_modules/react-native-mixpanel`)
- "react-native-netinfo (from `../node_modules/@react-native-community/netinfo`)"
- react-native-orientation-locker (from `../node_modules/react-native-orientation-locker`)
- react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`)
- react-native-splash-screen (from `../node_modules/react-native-splash-screen`)
- react-native-video (from `../node_modules/react-native-video`)
- "react-native-viewpager (from `../node_modules/@react-native-community/viewpager`)"
- react-native-webview (from `../node_modules/react-native-webview`)
- React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`)
- React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`)
- React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`)
- React-RCTImage (from `../node_modules/react-native/Libraries/Image`)
- React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`)
- React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`)
- React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`)
- React-RCTText (from `../node_modules/react-native/Libraries/Text`)
- React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`)
- ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`)
- rn-fetch-blob (from `../node_modules/rn-fetch-blob`)
- RNAudioRecorderPlayer (from `../node_modules/react-native-audio-recorder-player`)
- "RNCAsyncStorage (from `../node_modules/@react-native-community/async-storage`)"
- "RNCClipboard (from `../node_modules/@react-native-community/clipboard`)"
- "RNCMaskedView (from `../node_modules/@react-native-community/masked-view`)"
- RNFastImage (from `../node_modules/react-native-fast-image`)
- "RNFBAnalytics (from `../node_modules/@react-native-firebase/analytics`)"
- "RNFBApp (from `../node_modules/@react-native-firebase/app`)"
- "RNFBDatabase (from `../node_modules/@react-native-firebase/database`)"
- "RNFBMessaging (from `../node_modules/@react-native-firebase/messaging`)"
- RNGestureHandler (from `../node_modules/react-native-gesture-handler`)
- RNImageCropPicker (from `../node_modules/react-native-image-crop-picker`)
- "RNNotifee (from `../node_modules/@notifee/react-native`)"
- RNPermissions (from `../node_modules/react-native-permissions`)
- RNReactNativeHapticFeedback (from `../node_modules/react-native-haptic-feedback`)
- RNReanimated (from `../node_modules/react-native-reanimated`)
- RNScreens (from `../node_modules/react-native-screens`)
- "RNSentry (from `../node_modules/@sentry/react-native`)"
- RNShare (from `../node_modules/react-native-share`)
- RNTextSize (from `../node_modules/react-native-text-size/ios`)
- "toolbar-android (from `../node_modules/@react-native-community/toolbar-android`)"
- Yoga (from `../node_modules/react-native/ReactCommon/yoga`)
SPEC REPOS:
trunk:
- AppCenter
- AppCenterReactNativeShared
- Base64
- boost-for-react-native
- CocoaAsyncSocket
- CocoaLibEvent
- Firebase
- FirebaseAnalytics
- FirebaseCore
- FirebaseCoreDiagnostics
- FirebaseDatabase
- FirebaseInstallations
- FirebaseInstanceID
- FirebaseMessaging
- Flipper
- Flipper-DoubleConversion
- Flipper-Folly
- Flipper-Glog
- Flipper-PeerTalk
- Flipper-RSocket
- FlipperKit
- GoogleAppMeasurement
- GoogleDataTransport
- GoogleUtilities
- Intercom
- JWT
- leveldb-library
- libwebp
- Mixpanel
- nanopb
- OpenSSL-Universal
- PromisesObjC
- Protobuf
- SDWebImage
- SDWebImageWebPCoder
- Sentry
- SSZipArchive
- TOCropViewController
- YogaKit
EXTERNAL SOURCES:
appcenter-analytics:
:path: "../node_modules/appcenter-analytics/ios"
appcenter-core:
:path: "../node_modules/appcenter/ios"
appcenter-crashes:
:path: "../node_modules/appcenter-crashes/ios"
CodePush:
:path: "../node_modules/react-native-code-push"
DoubleConversion:
:podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
FBLazyVector:
:path: "../node_modules/react-native/Libraries/FBLazyVector"
FBReactNativeSpec:
:path: "../node_modules/react-native/Libraries/FBReactNativeSpec"
Folly:
:podspec: "../node_modules/react-native/third-party-podspecs/Folly.podspec"
glog:
:podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec"
Permission-Camera:
:path: "../node_modules/react-native-permissions/ios/Camera.podspec"
Permission-MediaLibrary:
:path: "../node_modules/react-native-permissions/ios/MediaLibrary.podspec"
Permission-Microphone:
:path: "../node_modules/react-native-permissions/ios/Microphone.podspec"
Permission-Notifications:
:path: "../node_modules/react-native-permissions/ios/Notifications.podspec"
Permission-PhotoLibrary:
:path: "../node_modules/react-native-permissions/ios/PhotoLibrary.podspec"
RCTCallDetection:
:path: "../node_modules/react-native-call-detection"
RCTRequired:
:path: "../node_modules/react-native/Libraries/RCTRequired"
RCTTypeSafety:
:path: "../node_modules/react-native/Libraries/TypeSafety"
React:
:path: "../node_modules/react-native/"
React-callinvoker:
:path: "../node_modules/react-native/ReactCommon/callinvoker"
React-Core:
:path: "../node_modules/react-native/"
React-CoreModules:
:path: "../node_modules/react-native/React/CoreModules"
React-cxxreact:
:path: "../node_modules/react-native/ReactCommon/cxxreact"
React-jsi:
:path: "../node_modules/react-native/ReactCommon/jsi"
React-jsiexecutor:
:path: "../node_modules/react-native/ReactCommon/jsiexecutor"
React-jsinspector:
:path: "../node_modules/react-native/ReactCommon/jsinspector"
react-native-camera:
:path: "../node_modules/react-native-camera"
react-native-flipper:
:path: "../node_modules/react-native-flipper"
react-native-intercom:
:path: "../node_modules/react-native-intercom"
react-native-keep-awake:
:path: "../node_modules/react-native-keep-awake"
react-native-mixpanel:
:path: "../node_modules/react-native-mixpanel"
react-native-netinfo:
:path: "../node_modules/@react-native-community/netinfo"
react-native-orientation-locker:
:path: "../node_modules/react-native-orientation-locker"
react-native-safe-area-context:
:path: "../node_modules/react-native-safe-area-context"
react-native-splash-screen:
:path: "../node_modules/react-native-splash-screen"
react-native-video:
:path: "../node_modules/react-native-video"
react-native-viewpager:
:path: "../node_modules/@react-native-community/viewpager"
react-native-webview:
:path: "../node_modules/react-native-webview"
React-RCTActionSheet:
:path: "../node_modules/react-native/Libraries/ActionSheetIOS"
React-RCTAnimation:
:path: "../node_modules/react-native/Libraries/NativeAnimation"
React-RCTBlob:
:path: "../node_modules/react-native/Libraries/Blob"
React-RCTImage:
:path: "../node_modules/react-native/Libraries/Image"
React-RCTLinking:
:path: "../node_modules/react-native/Libraries/LinkingIOS"
React-RCTNetwork:
:path: "../node_modules/react-native/Libraries/Network"
React-RCTSettings:
:path: "../node_modules/react-native/Libraries/Settings"
React-RCTText:
:path: "../node_modules/react-native/Libraries/Text"
React-RCTVibration:
:path: "../node_modules/react-native/Libraries/Vibration"
ReactCommon:
:path: "../node_modules/react-native/ReactCommon"
rn-fetch-blob:
:path: "../node_modules/rn-fetch-blob"
RNAudioRecorderPlayer:
:path: "../node_modules/react-native-audio-recorder-player"
RNCAsyncStorage:
:path: "../node_modules/@react-native-community/async-storage"
RNCClipboard:
:path: "../node_modules/@react-native-community/clipboard"
RNCMaskedView:
:path: "../node_modules/@react-native-community/masked-view"
RNFastImage:
:path: "../node_modules/react-native-fast-image"
RNFBAnalytics:
:path: "../node_modules/@react-native-firebase/analytics"
RNFBApp:
:path: "../node_modules/@react-native-firebase/app"
RNFBDatabase:
:path: "../node_modules/@react-native-firebase/database"
RNFBMessaging:
:path: "../node_modules/@react-native-firebase/messaging"
RNGestureHandler:
:path: "../node_modules/react-native-gesture-handler"
RNImageCropPicker:
:path: "../node_modules/react-native-image-crop-picker"
RNNotifee:
:path: "../node_modules/@notifee/react-native"
RNPermissions:
:path: "../node_modules/react-native-permissions"
RNReactNativeHapticFeedback:
:path: "../node_modules/react-native-haptic-feedback"
RNReanimated:
:path: "../node_modules/react-native-reanimated"
RNScreens:
:path: "../node_modules/react-native-screens"
RNSentry:
:path: "../node_modules/@sentry/react-native"
RNShare:
:path: "../node_modules/react-native-share"
RNTextSize:
:path: "../node_modules/react-native-text-size/ios"
toolbar-android:
:path: "../node_modules/@react-native-community/toolbar-android"
Yoga:
:path: "../node_modules/react-native/ReactCommon/yoga"
SPEC CHECKSUMS:
AppCenter: 76ecf7e959a68e36b0fd314e8dc5897660214423
appcenter-analytics: cca12b5d07593a309e99db475f6da7f1a61ae694
appcenter-core: cd5eaa48cfc6dd87dad2912d6718f21f4955327f
appcenter-crashes: 369cc9160392c137b791304ee96957f28ef143d1
AppCenterReactNativeShared: 2ec88a4ac2c52cdbc828a1f9c16244b534c84026
Base64: cecfb41a004124895a7bcee567a89bae5a89d49b
boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c
CocoaAsyncSocket: 694058e7c0ed05a9e217d1b3c7ded962f4180845
CocoaLibEvent: 2fab71b8bd46dd33ddb959f7928ec5909f838e3f
CodePush: 4b21ce24113167513a6fd1602718b22e322069b2
DoubleConversion: cde416483dac037923206447da6e1454df403714
FBLazyVector: 6f1045c66f816849b33c4ff28930b611e89059a0
FBReactNativeSpec: e856d5103d749483f86f53afafd8df4ed8a776bd
Firebase: ed042590caa0029392257529a8003c25ee82bc18
FirebaseAnalytics: 5fa308e1b13f838d0f6dc74719ac2a72e8c5afc4
FirebaseCore: 687b8e6a0a4337b898a6326d68254c2f80c143af
FirebaseCoreDiagnostics: 7535fe695737f8c5b350584292a70b7f8ff0357b
FirebaseDatabase: 55e69fe802ccb438d9c6ee51eb32fd425d5409d3
FirebaseInstallations: 3c520c951305cbf9ca54eb891ff9e6d1fd384881
FirebaseInstanceID: 358d5cb393d2750a745569ede06827c35aea530b
FirebaseMessaging: bdd4d573eab37ebee29bad4e7c4b0ef18fa1a952
Flipper: 33585e2d9810fe5528346be33bcf71b37bb7ae13
Flipper-DoubleConversion: 38631e41ef4f9b12861c67d17cb5518d06badc41
Flipper-Folly: c12092ea368353b58e992843a990a3225d4533c3
Flipper-Glog: 1dfd6abf1e922806c52ceb8701a3599a79a200a6
Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9
Flipper-RSocket: 64e7431a55835eb953b0bf984ef3b90ae9fdddd7
FlipperKit: bc68102cd4952a258a23c9c1b316c7bec1fecf83
Folly: b73c3869541e86821df3c387eb0af5f65addfab4
glog: 40a13f7840415b9a77023fbcae0f1e6f43192af3
GoogleAppMeasurement: 8cd1f289d60e629cf16ab03363b9e89c776b9651
GoogleDataTransport: 8a40cb194ad242b6f6dfe72c14fe40fc67c4dcd7
GoogleUtilities: e121a3867449ce16b0e35ddf1797ea7a389ffdf2
Intercom: b168156c4eb1b51352974cdfa47d4f3241a3df8b
JWT: 9b5c05abbcc1a0e69c3c91e1655b3387fc7e581d
leveldb-library: 55d93ee664b4007aac644a782d11da33fba316f7
libwebp: 946cb3063cea9236285f7e9a8505d806d30e07f3
Mixpanel: 61e6d8c0717c8e94ccc6d3a1ae8677b9a78f64c5
nanopb: c43f40fadfe79e8b8db116583945847910cbabc9
OpenSSL-Universal: 8b48cc0d10c1b2923617dfe5c178aa9ed2689355
Permission-Camera: 53d46bd722aea28d796e20f05fb3cbe6cde6ccb6
Permission-MediaLibrary: c01c27f2e5c8a499fdc4add8fc7f1b97dcb3340e
Permission-Microphone: af45e35013788b52eecf3cd8f13185c4b6f7bff7
Permission-Notifications: 5ecb0f433b585c5621dc30b168772d60ae8574c2
Permission-PhotoLibrary: 3400b260e5f80e0dd9c04d00c2ceab233bf88427
PromisesObjC: b48e0338dbbac2207e611750777895f7a5811b75
Protobuf: 2793fcd0622a00b546c60e7cbbcc493e043e9bb9
RCTCallDetection: f755f9a6f55cfac0005f12428c5e130adef207e2
RCTRequired: e46bb77db03887b3e200d34b08515c804669db99
RCTTypeSafety: 270fed6675c42f80fb87b47d626ef3cede1505e6
React: e008906ff1328f9bccb345ff4f7826397ad223fc
React-callinvoker: f547824e0a626f4bce516ee65f548004b0784e7e
React-Core: 1c28d2ecde60ded3fe42d8db4f684afb8709757b
React-CoreModules: 8e6139e59f5347e2cf3ceb63e4532fb5b4b39a2d
React-cxxreact: 98fef06e1ca59eb075ef5bc4c6f256d5c6840936
React-jsi: 254710f3a97e587427bfbf3011dacec2af66a1fc
React-jsiexecutor: 0e0cb4e170ca72d4bb1179843d08dcbea3d100ac
React-jsinspector: fc661eff8edbfb7e22119382c13f33bcadde0f3c
react-native-camera: c673127fd3bf9f9ac4ea6e65fce8160e8e0ae1d1
react-native-flipper: 6de5b91e6b22bee0ed0a5b8fba6e73d20d3902b0
react-native-intercom: 4916f5d0fee8b73535a6284721ccf7f9cc664fac
react-native-keep-awake: eba3137546b10003361b37c761f6c429b59814ae
react-native-mixpanel: 60450b4eb64b7763202d823b0569443245e52edb
react-native-netinfo: eed0fb1d6a9424e98ce686f92aad62ff427d4bc9
react-native-orientation-locker: f0ca1a8e5031dab6b74bfb4ab33a17ed2c2fcb0d
react-native-safe-area-context: 4c3249e4840225c61fcd215b136af0a737bccb79
react-native-splash-screen: 200d11d188e2e78cea3ad319964f6142b6384865
react-native-video: 31f90922291b3a3378ee4fa0d74e606646c05231
react-native-viewpager: ea4ba7fe5d3151b83166673730c4854f401a642f
react-native-webview: e2c0bce9a1a7c7edd4eb30f0c3016fce216245ce
React-RCTActionSheet: aadd91a1d6cbfae50dd41f140004f816e9e47ade
React-RCTAnimation: 7fa2ef6c0ef1e3f0b7d2261c827ec94412deb5e6
React-RCTBlob: ccbbc70295aee3a76a70323b48f63fb7a7fcffd6
React-RCTImage: d94eb3080b37a4527ade4dd5f9f1289b7ba68089
React-RCTLinking: ddd2a1ddb699bade352d4747d5652f4c425c747a
React-RCTNetwork: 4590b11cc6e99eb01a48f1c03bcadfb8b792d005
React-RCTSettings: 9197a492268a088c5213ef8a08cfc60b7a141369
React-RCTText: ba503bf4cce41881ca258ba789c33e017955efdd
React-RCTVibration: 77ab1cf4a5eb854b88ad5ed3e9d8509ed124525e
ReactCommon: f63556ee9e41e9802257228237e5e660451a03cf
rn-fetch-blob: f065bb7ab7fb48dd002629f8bdcb0336602d3cba
RNAudioRecorderPlayer: d2cebbdcde6733c3c8ebc2fde05b7854a59d2741
RNCAsyncStorage: db711e29e5e0500d9bd21aa0c2e397efa45302b1
RNCClipboard: 5f3218dcdc28405aa2ae72b78e388f150b826dd3
RNCMaskedView: f5c7d14d6847b7b44853f7acb6284c1da30a3459
RNFastImage: 35ae972d6727c84ee3f5c6897e07f84d0a3445e9
RNFBAnalytics: b60cf02f43ff3547cb1a642be7a8786524109c38
RNFBApp: ce217f932091295ed048451326817a29fb4cb48f
RNFBDatabase: 38776e1f6d5c7a4e45d647365fbf8fd36b1adb15
RNFBMessaging: 6bdab64e89a79afb36f58d75807166e574c489e8
RNGestureHandler: 8f09cd560f8d533eb36da5a6c5a843af9f056b38
RNImageCropPicker: f0557a908758c4a3f83978894ec7227651529b45
RNNotifee: 07c12c3df14fdf157efcc1d546af6633bfd3e7e5
RNPermissions: 1888705aebcc81714efa5dbff94351e4388ae012
RNReactNativeHapticFeedback: 22c5ecf474428766c6b148f96f2ff6155cd7225e
RNReanimated: b5ccb50650ba06f6e749c7c329a1bc3ae0c88b43
RNScreens: c526239bbe0e957b988dacc8d75ac94ec9cb19da
RNSentry: 9d68f0ce79608e90e10ac320c409321efc114b8f
RNShare: a1d5064df7a0ebe778d001869b3f0a124bf0a491
RNTextSize: 91955a6ea2adda9dc7802ce472b7a4dc717686f6
SDWebImage: 112503ec94a5a2a41869503844a15e8d8f1ead5c
SDWebImageWebPCoder: 36f8f47bd9879a8aea6044765c1351120fd8e3a8
Sentry: 81f7f2bd3cb041137ea7efcde3aa5ad0d5a67632
SSZipArchive: 62d4947b08730e4cda640473b0066d209ff033c9
TOCropViewController: 20a14b6a7a098308bf369e7c8d700dc983a974e6
toolbar-android: 404f4450b203597e7b417f714ff417bed562a1be
Yoga: 7d2edc5b410474191962e6dee88ee67f9b328b6b
YogaKit: f782866e155069a2cca2517aafea43200b01fd5a
PODFILE CHECKSUM: a3929624a439873a2a6f38c9fb044f7513fef147
COCOAPODS: 1.9.3
After all of this run the App and on push I am getting crash at the same location as before which is at this function (line with text [invocation invoke];
):
#if !TARGET_OS_WATCH && !TARGET_OS_OSX
- (void)application:(GULApplication *)application
donor_didReceiveRemoteNotification:(NSDictionary *)userInfo
fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
SEL methodSelector = NSSelectorFromString(kGULDidReceiveRemoteNotificationWithCompletionSEL);
NSValue *didReceiveRemoteNotificationWithCompletionIMPPointer =
[GULAppDelegateSwizzler originalImplementationForSelector:methodSelector object:self];
GULRealDidReceiveRemoteNotificationWithCompletionIMP
didReceiveRemoteNotificationWithCompletionIMP =
[didReceiveRemoteNotificationWithCompletionIMPPointer pointerValue];
// Notify interceptors.
[GULAppDelegateSwizzler
notifyInterceptorsWithMethodSelector:methodSelector
callback:^(id<GULApplicationDelegate> interceptor) {
NSInvocation *invocation = [GULAppDelegateSwizzler
appDelegateInvocationForSelector:methodSelector];
[invocation setTarget:interceptor];
[invocation setSelector:methodSelector];
[invocation setArgument:(void *)(&application) atIndex:2];
[invocation setArgument:(void *)(&userInfo) atIndex:3];
[invocation setArgument:(void *)(&completionHandler) atIndex:4];
[invocation invoke];
}];
// Call the real implementation if the real App Delegate has any.
if (didReceiveRemoteNotificationWithCompletionIMP) {
didReceiveRemoteNotificationWithCompletionIMP(self, methodSelector, application, userInfo,
completionHandler);
}
}
@umang-simform I'm sad that didn't help though as mentioned before I thought it was only a chance - would have been nice if it had though... I will mention you are behind on react-native which just did 0.63.1 yesterday but I'm only mentioning it, that will definitely not fix this issue. You are quite up to date otherwise.
This may be an upstream bug then - I recognize you logged this in notifee as a mention as well and I hate to bounce people around repos, but we're invoking GULAppDelegateSwizzler and that's the crash right? On the invoke of that object?
Despite all the info posted above you indicate there is a crash and an error but I don't recall seeing a crash trace up above? Do you have the actual crash stack trace from xcode? Then that can be used as possible strings to search for in firebase-ios-sdk repo, or they might indicate if you / we are sending incorrect arguments to GULAppDelegateSwizzler
@mikehardy I already upgraded RN version to 0.63.1 yesterday and as expected it didn't help. Now for the crash trace up, I have attached Screenshot above as I don't know how to copy text from there but still I will try. It would be helpful if you provide more instructions on how to provide you more relevant details.
@umang-simform I did not see a crash trace. I'm expecting something like
https://github.com/firebase/firebase-ios-sdk/issues/6048
Thread 9 name:
Thread 9 Crashed:
0 libsystem_platform.dylib 0x00000001ba4c6384 _platform_strlen + 4
1 61.06.100 0x00000001014d4850 FIRCLSFileWriteString + 32 (FIRCLSFile.m:334)
2 61.06.100 0x00000001014d481c FIRCLSFileWriteHashEntryString + 36 (FIRCLSFile.m:535)
3 61.06.100 0x00000001014cd650 FIRCLSContextRecordMetadata + 248 (FIRCLSContext.m:405)
4 61.06.100 0x00000001014cd520 __FIRCLSContextInitialize_block_invoke_5 + 104 (FIRCLSContext.m:230)
5 libdispatch.dylib 0x00000001ba2f3a38 _dispatch_call_block_and_release + 24 (init.c:1372)
6 libdispatch.dylib 0x00000001ba2f47d4 _dispatch_client_callout + 16 (object.m:511)
7 libdispatch.dylib 0x00000001ba298d8c _dispatch_queue_override_invoke + 952 (inline_internal.h:2427)
8 libdispatch.dylib 0x00000001ba2a5030 _dispatch_root_queue_drain + 372 (inline_internal.h:2482)
9 libdispatch.dylib 0x00000001ba2a58d4 _dispatch_worker_thread2 + 128 (queue.c:6072)
10 libsystem_pthread.dylib 0x00000001ba4d51b4 _pthread_wqthread + 464 (pthread.c:2361)
11 libsystem_pthread.dylib 0x00000001ba4d7cd4 start_wqthread + 4
You'll see these in Xcode while running the app on a device, started from Xcode + connected to the development machine, and you trigger the crash. You can copy and paste anything from Xcode
@mikehardy I see, But the funny thing is there is no crash log, If you check my main post there I have attached the log but it does not seem relevant to me. Also, one thing I noticed was If I run the app for 10-12 times in debug mode then 1-2 Times it doesn't crash but in that case when the app receives push notification app freezes for 4-5 seconds(that is huge) and at that time I am getting some logs in Xcode console. I am wondering if this could be the reason for the crash.
ref: https://github.com/notifee/react-native-notifee/issues/110
Also, I am thinking that if we disable method swizzling in firebase then we can get rid of this problem (Just a raw thought) but I am not finding any details in react-native-firebase or notifee documentation that how we can get RN-Firebase to get working with method swizzling disabled??
Is there any example/Demo code or guide from where I can find all details on the necessary steps required for the same ?
Well, RNFB is fully open source and notifee is at least in the bridging parts. If you want to disable swizzling you just reach right into node_modules and edit files and try things. When you get something working you use patch_package to make it persistent / stable in your project, then you come back here and discuss your findings. That's the quickest way to get things done.
If your app is crashing, there is a crash trace somewhere though.
You need to find and share the crash trace.
Naah, I provided all the logs and information I could provide also as of now, I disabled method swizzling and after that, I am not facing the crash.
Okay, however I'm still very puzzled that there is a crash without a crash trace. I have literally never seen that.
Any update on this.
i am also facing same issue.
@saurabh874 if there is no update here there is no update. You can update us with the results of your testing, we are missing a crash trace right now. Can you obtain one?
@mikehardy Don't you think we can close this issue now as disabling the method swizzling will help but you might need to add documentation on how to disable the method swizzling in firebase
I don't think a crash-while-using-default-settings on the next version of one of the 2 operating systems supported is closable yet :-), I might be rigid in this belief but apps should never ever ever ever ever crash while using default settings in particular, but "ever" really.
firebase-ios-sdk 6.31.0 is out and I just published a new batch of packages that depend on it by default (though can you always override) - would be great if someone re-tried to see if this is still happening:
- @react-native-firebase/[email protected]
- @react-native-firebase/[email protected]
- @react-native-firebase/[email protected]
- @react-native-firebase/[email protected]
- @react-native-firebase/[email protected]
- @react-native-firebase/[email protected]
- @react-native-firebase/[email protected]
- @react-native-firebase/[email protected]
- @react-native-firebase/[email protected]
- @react-native-firebase/[email protected]
- @react-native-firebase/[email protected]
- @react-native-firebase/[email protected]
- @react-native-firebase/[email protected]
- @react-native-firebase/[email protected]
- @react-native-firebase/[email protected]
- @react-native-firebase/[email protected]
- [email protected]
I've been experiencing this same issue, I tried upgrading to @react-native-firebase/[email protected]
, but the crashes persist. Like the original poster, my crash occurs when calling completionHandler(UIBackgroundFetchResult.noData)
inside of didReceiveRemoteNotification
, but in my own AppDelegate.swift
instead of RNFBMessaging+AppDelegate.m
.
What's odd, is that I thought this function was only called when background notifications were received, but for me it's happening when the app is in the foreground (maybe that's new behavior in iOS 14). If I comment out the completionHandler()
call in my own AppDelegate, everything seems to work but I need to test more.
Is there anything I can provide, that would help to debug this issue further?
@jd20 - exact versions of the firebase-ios-sdk pod in use and versions of react-native-firebase here, the crash trace and the .swift file could help. I think all our reproductions are in Obj-C not swift so we may have a hard time recreating but that's the info at least. Good information about background vs foreground, may be pertinent
Hey @mikehardy, these are the exact versions of react-native-firebase from our yarn.lock:
"@react-native-firebase/app@^8.4.2"
"@react-native-firebase/iid@^7.4.3"
"@react-native-firebase/messaging@^7.8.6"
The firebase versions from our Podfile.lock:
- Firebase/CoreOnly (6.30.0):
- Firebase/Messaging (6.30.0):
- FirebaseCore (6.10.0):
- FirebaseCoreDiagnostics (1.6.0):
- FirebaseInstallations (1.7.0):
- FirebaseInstanceID (4.6.0):
- FirebaseMessaging (4.6.2):
Also attached is the symbolicated crash report, and a heavily redacted AppDelegate.swift file (I removed anything that wasn't Firebase / notifications specific, but kept the line numbers intact so they match up to the crash report still). As I'd expect, the callstack shows the crash in didReceiveRemoteNotification
, where we call the completion handler. I've tried passing other values besides .noData
on that line, but it still crashes, the only workaround I have for right now is to not call the completion handler at all.
Let me know if I can provide anything else!
@jd20 You can try with disabling method swizzling. In our case disabling it helped us to get rid of the crash
Only crashes on ios 14, when clicked on the notification,
ExceptionsManager.js:126 Exception 'Call must be made on main thread' was thrown while invoking complete on target RNFirebaseNotifications with params (
"2635AEA3-6613-4DE6-A9A5-B3CAA119FCEF",
1
)
We are experiencing similar issue, for us this error occurs only when opening the app from notification while it is in the background. Again, this happens only on iOS 14. Error being:
Exception 'Call must be made on main thread' was thrown while invoking complete on target RNFirebaseNotifications with params (
"A6A5602F-F9C5-4275-B8D4-78134F364B5D",
1
)
callstack: (
0 CoreFoundation 0x00007fff2043a126 __exceptionPreprocess + 242
1 libobjc.A.dylib 0x00007fff20177f78 objc_exception_throw + 48
2 CoreFoundation 0x00007fff20439f4f +[NSException raise:format:] + 0
3 Foundation 0x00007fff207881ca -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 191
4 UIKitCore 0x00007fff2465fd21 -[UIApplication _performBlockAfterCATransactionCommitSynchronizes:] + 411
5 UIKitCore 0x00007fff2467cb70 -[UIApplication _updateStateRestorationArchiveForBackgroundEvent:saveState:exitIfCouldNotRestoreState:updateSnapshot:windowScene:] + 341
6 UIKitCore 0x00007fff2467cd42 -[UIApplication _updateSnapshotAndStateRestorationWithAction:windowScene:] + 151
7 Staffers 0x000000010eb14fff -[RNFirebaseNotifications complete:fetchResult:] + 335
8 CoreFoundation 0x00007fff2044092c __invoking___ + 140
9 CoreFoundation 0x00007fff2043dde6 -[NSInvocation invoke] + 303
10 CoreFoundation 0x00007fff2043e077 -[NSInvocation invokeWithTarget:] + 70
11 Staffers 0x000000010ded52a4 -[RCTModuleMethod invokeWithBridge:module:arguments:] + 2660
12 Staffers 0x000000010df6df6e _ZN8facebook5reactL11invokeInnerEP9RCTBridgeP13RCTModuleDatajRKN5folly7dynamicE + 814
13 Staffers 0x000000010df6da36 _ZZN8facebook5react15RCTNativeModule6invokeEjON5folly7dynamicEiENK3$_0clEv + 134
14 Staffers 0x000000010df6d99c ___ZN8facebook5react15RCTNativeModule6invokeEjON5folly7dynamicEi_block_invoke + 28
15 libdispatch.dylib 0x0000000112af88ac _dispatch_call_block_and_release + 12
16 libdispatch.dylib 0x0000000112af9a88 _dispatch_client_callout + 8
17 libdispatch.dylib 0x0000000112b00356 _dispatch_lane_serial_drain + 796
18 libdispatch.dylib 0x0000000112b01027 _dispatch_lane_invoke + 439
19 libdispatch.dylib 0x0000000112b0ce90 _dispatch_workloop_worker_thread + 882
20 libsystem_pthread.dylib 0x00007fff5dcd8a3d _pthread_wqthread + 290
21 libsystem_pthread.dylib 0x00007fff5dcd7b77 start_wqthread + 15
)
RCTFatal
facebook::react::invokeInner(RCTBridge*, RCTModuleData*, unsigned int, folly::dynamic const&)
facebook::react::RCTNativeModule::invoke(unsigned int, folly::dynamic&&, int)::$_0::operator()() const
invocation function for block in facebook::react::RCTNativeModule::invoke(unsigned int, folly::dynamic&&, int)
_dispatch_call_block_and_release
_dispatch_client_callout
_dispatch_lane_serial_drain
_dispatch_lane_invoke
_dispatch_workloop_worker_thread
_pthread_wqthread
start_wqthread
Disabling method swizzling did not help.
Our react native and firebase versions are as follows:
react-native: "0.59.10",
react-native-firebase: "5.6.0",
And podfile.lock:
- Firebase/Auth (~> 6.13.0)
- Firebase/Core (~> 6.13.0)
- Firebase/Database (~> 6.13.0)
- Firebase/DynamicLinks (~> 6.13.0)
- Firebase/Firestore (~> 6.13.0)
- Firebase/Functions (~> 6.13.0)
- Firebase/Messaging (~> 6.13.0)
- Firebase/Performance (~> 6.13.0)
- Firebase/Storage (~> 6.13.0)
Unfortunately, we are unable to update to latest versions due to some constraints, but I thought it might be helpful to provide you with this information as well. If I can provide you with anything that might help you track down this issue, I am happy to help.
I don't know if this is related but I have crash in application on receive of data message since update to iOS 14 too. I am using data messages to display in app modals.
AppjobsRewards-2020-09-23-115232.txt
Update:
My podfile:
- Firebase/Analytics (6.30.0):
- Firebase/Core
- Firebase/Core (6.30.0):
- Firebase/CoreOnly
- FirebaseAnalytics (= 6.7.2)
- Firebase/CoreOnly (6.30.0):
- FirebaseCore (= 6.10.0)
- Firebase/Messaging (6.30.0):
- Firebase/CoreOnly
- FirebaseMessaging (~> 4.6.1)
Same on my app .Disabling method swizzling did not help.
We have noticed separately that if your Xcode project name has non-ASCII chars it can cause a crash on iOS14 because...because wow, who would use non-ASCII chars in a project name? No need to handle that...
Perhaps that has bearing here?
Hi everyone, I have the same issue with my project. We use silent push notifications and the crash is repeated for iOS 14 only.
_upd_. I've found the source of crash into my app - I had two completion handlers in one closure, one of which finished, and the other a little later. Previously, everything was ok, but on iOS 14 it crashes. In addition, this behavior is really only relevant for an application in the foreground. I've tested with silent push with Postman - it helped me to see the behavior and crash.
We have noticed separately that if your Xcode project name has non-ASCII chars it can cause a crash on iOS14 because...because wow, who would use non-ASCII chars in a project name? No need to handle that...
Perhaps that has bearing here?
4093
Unfortunately, our project has only ascii characters 馃檨
I have the same issue,
ExceptionsManager.js:173 Exception 'Call must be made on main thread' was thrown while invoking complete on target RNFirebaseNotifications with params ( "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", 1 ) callstack: ( 0 CoreFoundation 0x00000001a611d128 F80FCA31-BF76-3293-8BC6-1729588AE8B6 + 1155368 1 libobjc.A.dylib 0x00000001b9943cb4 objc_exception_throw + 56 2 CoreFoundation 0x00000001a602c308 F80FCA31-BF76-3293-8BC6-1729588AE8B6 + 168712 3 Foundation 0x00000001a73102c8 4B7B9C0A-BAD3-348D-95A3-94784BFED02E + 492232 4 UIKitCore 0x00000001a895b104 00EA1426-38F7-3FD2-BE01-04EBD44ECA35 + 11665668 5 UIKitCore 0x00000001a8977fa8 00EA1426-38F7-3FD2-BE01-04EBD44ECA35 + 11784104 6 UIKitCore 0x00000001a8978198 00EA1426-38F7-3FD2-BE01-04EBD44ECA35 + 11784600 7 XXXXXXXX 0x0000000102bf5a0c -[RNFirebaseNotifications complete:fetchResult:] + 332 8 CoreFoundation 0x00000001a6121870 F80FCA31-BF76-3293-8BC6-1729588AE8B6 + 1173616 9 CoreFoundation 0x00000001a6004fd0 F80FCA31-BF76-3293-8BC6-1729588AE8B6 + 8144 10 CoreFoundation 0x00000001a6005530 F80FCA31-BF76-3293-8BC6-1729588AE8B6 + 9520 11 XXX XXXXXXX 0x0000000102d2fcec -[RCTModuleMethod invokeWithBridge:module:arguments:] + 1880 12 XXXXXXX 0x0000000102d333b4 _ZN8facebook5reactL11invokeInnerEP9RCTBridgeP13RCTModuleDatajRKN5folly7dynamicE + 648 13 XXXXXXXX 0x0000000102d32f68 _ZZN8facebook5react15RCTNativeModule6invokeEjON5folly7dynamicEiENK3$_0clEv + 128 14 XXX XXXX r 0x0000000102d32edc ___ZN8facebook5react15RCTNativeModule6invokeEjON5folly7dynamicEi_block_invoke + 28 15 libdispatch.dylib 0x0000000105cc7db8 _dispatch_call_block_and_release + 24 16 libdispatch.dylib 0x0000000105cc95fc _dispatch_client_callout + 16 17 libdispatch.dylib 0x0000000105cd0680 _dispatch_lane_serial_drain + 748 18 libdispatch.dylib 0x0000000105cd1308 _dispatch_lane_invoke + 452 19 libdispatch.dylib 0x0000000105cdcb34 _dispatch_workloop_worker_thread + 1456 20 libsystem_pthread.dylib 0x00000001eba005a4 _pthread_wqthread + 272 21 libsystem_pthread.dylib 0x00000001eba03874 start_wqthread + 8
My react native and firebase versions are as follows,
react-native: "0.62.0", react-native-firebase: "5.6.0",
My podfile,
'Firebase/Core', '~> 6.13.0' 'Firebase/Messaging', '~> 6.13.0' 'Firebase/Database', '~> 6.13.0' 'Firebase/RemoteConfig', '~> 6.13.0'
Hello there,
Testing my app with RNFB on iOS 14, I got some stacktraces when my app gets a data message while running (or in the background):
Crashed: com.apple.main-thread
0 libdispatch.dylib 0x1a22a1ef0 dispatch_group_leave$VARIANT$armv81.cold.1 + 36
1 libdispatch.dylib 0x1a226b488 _dispatch_group_wake + 118
2 MyApp 0x102f9a444 __95+[ICMPushNotificationManager swizzleDidReceiveRemoteNotificationFetchCompletionHandlerOnClass:]_block_invoke + 2228548
3 CoreFoundation 0x1a2665870 __invoking___ + 144
4 CoreFoundation 0x1a2548fd0 -[NSInvocation invoke] + 300
5 MyApp 0x102a78870 __96-[GULAppDelegateSwizzler application:donor_didReceiveRemoteNotification:fetchCompletionHandler:]_block_invoke + 897 (GULAppDelegateSwizzler.m:897)
6 MyApp 0x102a77810 __72+[GULAppDelegateSwizzler notifyInterceptorsWithMethodSelector:callback:]_block_invoke + 673 (GULAppDelegateSwizzler.m:673)
7 CoreFoundation 0x1a25cc9f0 __NSDICTIONARY_IS_CALLING_OUT_TO_A_BLOCK__ + 16
8 CoreFoundation 0x1a254aebc -[__NSFrozenDictionaryM enumerateKeysAndObjectsWithOptions:usingBlock:] + 184
9 MyApp 0x102a7777c +[GULAppDelegateSwizzler notifyInterceptorsWithMethodSelector:callback:] + 676 (GULAppDelegateSwizzler.m:676)
10 MyApp 0x102a7872c -[GULAppDelegateSwizzler application:donor_didReceiveRemoteNotification:fetchCompletionHandler:] + 899 (GULAppDelegateSwizzler.m:899)
11 UIKitCore 0x1a4ec3790 -[UIApplication pushRegistry:didReceiveIncomingPushWithPayload:forType:withCompletionHandler:] + 312
12 PushKit 0x1c95253a4 __74-[PKPushRegistry remoteUserNotificationPayloadReceived:completionHandler:]_block_invoke + 160
13 libdispatch.dylib 0x1a2299298 _dispatch_call_block_and_release + 24
14 libdispatch.dylib 0x1a229a280 _dispatch_client_callout + 16
15 libdispatch.dylib 0x1a227c5b8 _dispatch_main_queue_callback_4CF$VARIANT$armv81 + 856
16 CoreFoundation 0x1a25e0c30 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
17 CoreFoundation 0x1a25db0e8 __CFRunLoopRun + 2480
18 CoreFoundation 0x1a25da200 CFRunLoopRunSpecific + 572
19 GraphicsServices 0x1b86d5598 GSEventRunModal + 160
20 UIKitCore 0x1a4ea0004 -[UIApplication _run] + 1052
21 UIKitCore 0x1a4ea55d8 UIApplicationMain + 164
22 MyApp 0x1027476ac main + 14 (main.m:14)
23 libdyld.dylib 0x1a22b9598 start + 4
The "Keys" tab in Crashlytics seems to show the issue
BUG IN CLIENT OF LIBDISPATCH: Unbalanced call to dispatch_group_leave()
And RNFBMessaging seems involved (on line 2)
Granted, my RNFB is slightly outdated, but I don't think the code has changed much since. Here's the output of yarn outdated
Package Current Wanted Latest
@react-native-firebase/analytics 7.6.1 7.6.4 7.6.4 dependencies https://github.com/invertase/react-native-firebase/tree/master/packages/analytics
@react-native-firebase/app 8.4.1 8.4.3 8.4.3 dependencies https://github.com/invertase/react-native-firebase/tree/master/packages/app
@react-native-firebase/auth 9.2.1 9.2.3 9.2.3 dependencies https://github.com/invertase/react-native-firebase/tree/master/packages/auth
@react-native-firebase/crashlytics 8.4.2 8.4.5 8.4.5 dependencies https://github.com/invertase/react-native-firebase/tree/master/packages/crashlytics
@react-native-firebase/firestore 7.8.0 7.8.2 7.8.2 dependencies https://github.com/invertase/react-native-firebase/tree/master/packages/firestore
@react-native-firebase/functions 7.4.2 7.4.4 7.4.4 dependencies https://github.com/invertase/react-native-firebase/tree/master/packages/functions
@react-native-firebase/messaging 7.8.4 7.8.6 7.8.6 dependencies https://github.com/invertase/react-native-firebase/tree/master/packages/messaging
@react-native-firebase/remote-config 9.0.3 9.0.5 9.0.5 dependencies https://github.com/invertase/react-native-firebase/tree/master/packages/remote-config
@react-native-firebase/storage 7.4.2 7.4.3 7.4.3 dependencies https://github.com/invertase/react-native-firebase/tree/master/packages/storage
Hope this helps!
A couple notes:
1) If you are not reproducing this on current stable versions including an override to firebase-ios-sdk 6.33.0 (even though it was just released a couple days ago!) with apologies I must say I won't spend a second on it. ios14 is new, and I expect you'll need fully up to date everything in order to handle it. Don't even try with RNFBv5
2) I don't reproduce this in my work project though I send data-only notifications. That's important because what I don't see, I can't fix. If someone can post a reproduction we can check it out, otherwise I have nothing actionable here, so it's up to everyone on this thread to dive in and get it done
I wrapped completionHandler
in the try/catch block and it is helped me. The app doesn't crash anymore
./node_modules/react-native-firebase/ios/RNFirebase/notifications/
RCT_EXPORT_METHOD(complete:(NSString*)handlerKey fetchResult:(UIBackgroundFetchResult)fetchResult) {
if (handlerKey != nil) {
void (^fetchCompletionHandler)(UIBackgroundFetchResult) = fetchCompletionHandlers[handlerKey];
if (fetchCompletionHandler != nil) {
fetchCompletionHandlers[handlerKey] = nil;
@try {
fetchCompletionHandler(fetchResult);
}
@catch (NSException * e) {
NSLog(@"Exception fetchCompletionHandler: %@", e);
};
} else {
void(^completionHandler)(void) = completionHandlers[handlerKey];
if (completionHandler != nil) {
completionHandlers[handlerKey] = nil;
@try {
completionHandler();
}
@catch (NSException * e) {
NSLog(@"Exception completionHandler: %@", e);
};
}
}
}
}
Also, I removed unnecessary code from AppDelegate.m, but it has no effect
````
(void)application:(UIApplication *)application didReceiveRemoteNotification:(nonnull NSDictionary *)userInfo
fetchCompletionHandler:(nonnull void (^)(UIBackgroundFetchResult))completionHandler{
[[RNFirebaseNotifications instance] didReceiveRemoteNotification:userInfo fetchCompletionHandler:completionHandler];
}
(void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings {
[[RNFirebaseMessaging instance] didRegisterUserNotificationSettings:notificationSettings];
}
````
I found iOS 14 will crash when receive data-only message currently.
So I add the notification parameter in my server function, it works!!
Here is the sample
await admin.messaging().sendMulticast({
tokens: ["bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1..."],
notification: { // the key must have, otherwise it will crash
title: "test",
body: "test",
},
data: {
score: "5x1",
time: "15:10"
},
});
My devices version:
iOS: 14.0.1
package.json
"@react-native-firebase/app": "^8.4.3",
"@react-native-firebase/messaging": "^7.8.6",
"react-native": "~0.61.5",
Podfile
$FirebaseSDKVersion = '6.33.0'
Podfile.lock
- Firebase/CoreOnly (6.33.0):
- FirebaseCore (= 6.10.3)
- Firebase/Messaging (6.33.0):
- Firebase/CoreOnly
- FirebaseMessaging (~> 4.7.0)
- FirebaseCore (6.10.3):
- FirebaseCoreDiagnostics (~> 1.6)
- GoogleUtilities/Environment (~> 6.7)
- GoogleUtilities/Logger (~> 6.7)
- FirebaseCoreDiagnostics (1.7.0):
- GoogleDataTransport (~> 7.4)
- GoogleUtilities/Environment (~> 6.7)
- GoogleUtilities/Logger (~> 6.7)
- nanopb (~> 1.30906.0)
- FirebaseInstallations (1.7.0):
- FirebaseCore (~> 6.10)
- GoogleUtilities/Environment (~> 6.7)
- GoogleUtilities/UserDefaults (~> 6.7)
- PromisesObjC (~> 1.2)
- FirebaseInstanceID (4.7.0):
- FirebaseCore (~> 6.10)
- FirebaseInstallations (~> 1.6)
- GoogleUtilities/Environment (~> 6.7)
- GoogleUtilities/UserDefaults (~> 6.7)
- FirebaseMessaging (4.7.0):
- FirebaseCore (~> 6.10)
- FirebaseInstanceID (~> 4.7)
- GoogleUtilities/AppDelegateSwizzler (~> 6.7)
- GoogleUtilities/Environment (~> 6.7)
- GoogleUtilities/Reachability (~> 6.7)
- GoogleUtilities/UserDefaults (~> 6.7)
- Protobuf (>= 3.9.2, ~> 3.9)
@mdyu1000 - that's not a viable solution as it alters the notification delivery completely. We are still here:
I don't reproduce this in my work project though I send data-only notifications. That's important because what I don't see, I can't fix. If someone can post a reproduction we can check it out, otherwise I have nothing actionable here, so it's up to everyone on this thread to dive in and get it done
RCT_EXPORT_METHOD(complete:(NSString*)handlerKey fetchResult:(UIBackgroundFetchResult)fetchResult) {
if (handlerKey != nil) {
void (^fetchCompletionHandler)(UIBackgroundFetchResult) = fetchCompletionHandlers[handlerKey];
if (fetchCompletionHandler != nil) {
fetchCompletionHandlers[handlerKey] = nil;
@try {
fetchCompletionHandler(fetchResult);
}
@catch (NSException * e) {
NSLog(@"Exception fetchCompletionHandler: %@", e);
};
} else {
void(^completionHandler)(void) = completionHandlers[handlerKey];
if (completionHandler != nil) {
completionHandlers[handlerKey] = nil;
@try {
completionHandler();
}
@catch (NSException * e) {
NSLog(@"Exception completionHandler: %@", e);
};
}
}
}
}
@heletrix thanks for sharing. I dispatch code in main thread instead and it's working for me
// node_modules/react-native-firebase/ios/RNFirebase/notifications/RNFirebaseNotifications.m
RCT_EXPORT_METHOD(complete:(NSString*)handlerKey fetchResult:(UIBackgroundFetchResult)fetchResult) {
if (handlerKey != nil) {
void (^fetchCompletionHandler)(UIBackgroundFetchResult) = fetchCompletionHandlers[handlerKey];
dispatch_async(dispatch_get_main_queue(), ^{
if (fetchCompletionHandler != nil) {
fetchCompletionHandlers[handlerKey] = nil;
fetchCompletionHandler(fetchResult);
} else {
void(^completionHandler)(void) = completionHandlers[handlerKey];
if (completionHandler != nil) {
completionHandlers[handlerKey] = nil;
completionHandler();
}
}
});
}
}
Very interesting! If others can confirm success with this, perhaps @troublediehard could make a PR and we could merge this in as a fix!
Very interesting! If others can confirm success with this, perhaps @troublediehard could make a PR and we could merge this in as a fix!
@mikehardy can confirm, this fix works for me even on RNF 5.6.0! For now we wrote a patch for this, is there a possibility to publish 5.6.1 minor update for this when/if releasing this fix to the latest version?
@troublediehard Thanks a lot for this, you've saved us from a lot of headache mate! 馃檹
@Olovorr glad to hear confirmation! I have no plans to touch the v5.x.x branch at this point, I don't believe we have any of the infrastructure in place to verify builds anymore and despite it being perhaps simple I have a lot of scar tissue of the "no good deed unpunished" type. Attaching the patch (just rename the extension to .txt and it's attachable here) here for others may help though
@troublediehard I see you already proposed a PR! I'll head over there to review it and I will have my bag of internet points ready to award :moneybag: :trophy: :rofl:
Ah, I see the PR is for the v5.x.x branch, as mentioned I really fear touching that branch at the moment. We don't recommend anyone uses it and I'm surprised it still works. I am not going to merge more changes there, with sincere apologies, I hate not merging things as I really value contributions (they are the driver for this project) but I hope you understand
If anyone proposes a patch to master that does the same and we can confirm it works, I would be happy to merge that though
@mikehardy ok, it's fine. Even not merged PR can help somebody.
We are already in the migration process to the recent version, I'll back to it when I can test it.
Thanks @heletrix its works for me I published that change for npm
Quick update: I have the exact same crash with the very latest versions of all RNFirebase components and I also added an override to use the Firebase iOS SDK 6.33.0.
Here's a full stack trace from Crashlytics https://gist.github.com/TPXP/35ea02eabee43410338f109850c84eee
One more advice for anyone struggling:
After you apply @troublediehard fix and it still crashes (for us it crashed but with different error), then try to disable method swizzling. That did the trick for us. You can learn how to disable method swizzling in firebase docs.
@TPXP interesting - what is:
2 MyApp 0x104fae488 __95+[ICMPushNotificationManager swizzleDidReceiveRemoteNotificationFetchCompletionHandlerOnClass:]_block_invoke + 2229176
@mikehardy When opening the stack trace in XCode, it shows a red square and seems unable to show me the code when I select it in the stack trace (perhaps because it's swizzled?). I have the function just before though, it's in the GULAppDelegateSwizzler class : https://github.com/firebase/firebase-ios-sdk/blob/master/GoogleUtilities/AppDelegateSwizzler/GULAppDelegateSwizzler.m#L899
That's unexpected, as it could mean a problem with the swizzler itself. I'd suspect incorrect swizzling before I'd expect a problem with the swizzler as that library is used everywhere including in firebase-ios-sdk core a bunch I think? But it is of course possible. Bugs about that can still be lodged against firebase-ios-sdk
Removing swizzling is hard on this project though - even to test - as we rely on it in order to swizzle in the react-native-firebase messaging delegates and remove the need for all the configuration work in AppDelegate. If you remove swizzling you have a lot more delicate work to do in AppDelegate which created a large support load here. No good answers alas other than quadruple checking that in the react-native-firebase we are using the GUL swizzler correctly and perhaps a comparative check using a clean firebase-ios-sdk messaging quickstart to see if it crashes under the same scenario
After some more digging, we found out that the issue could have been caused by the outdated Intercom SDK. After updating to 8.0.0 (which, according to the changelog, brings support for iOS 14), it seems the issue disappeared.
We'll try that and see if the issue arises again, for now here is our configuration:
"@react-native-firebase/app": "^8.4.3",
"@react-native-firebase/messaging": "^7.8.6",
We also have an override for the Firebase IOS SDK version, at the top of our Podfile
platform :ios, '10.0'
# Override Firebase SDK Version
$FirebaseSDKVersion = '6.33.0'
...
Update: the issue just resurfaced on one test device, after opening and closing the app (removing it from multitasking) multiple times. Not sure if that's the real cause though. Stack traces are unchanged
I don't know if this info is helpful but I also have this problem while receiving notifications from OneSignal (which I believe uses FCM underneath).
The problem went away after I removed the dependency to @react-native-firebase/messaging
which I have to be able to use Intercom push notifications.
In my case it seems to be some interference between two libraries using FCM.
I wrapped
completionHandler
in the try/catch block and it is helped me. The app doesn't crash anymore
./node_modules/react-native-firebase/ios/RNFirebase/notifications/
RCT_EXPORT_METHOD(complete:(NSString*)handlerKey fetchResult:(UIBackgroundFetchResult)fetchResult) { if (handlerKey != nil) { void (^fetchCompletionHandler)(UIBackgroundFetchResult) = fetchCompletionHandlers[handlerKey]; if (fetchCompletionHandler != nil) { fetchCompletionHandlers[handlerKey] = nil; @try { fetchCompletionHandler(fetchResult); } @catch (NSException * e) { NSLog(@"Exception fetchCompletionHandler: %@", e); }; } else { void(^completionHandler)(void) = completionHandlers[handlerKey]; if (completionHandler != nil) { completionHandlers[handlerKey] = nil; @try { completionHandler(); } @catch (NSException * e) { NSLog(@"Exception completionHandler: %@", e); }; } } } }
Also, I removed unnecessary code from AppDelegate.m, but it has no effect
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification { [[RNFirebaseNotifications instance] didReceiveLocalNotification:notification]; } - (void)application:(UIApplication *)application didReceiveRemoteNotification:(nonnull NSDictionary *)userInfo fetchCompletionHandler:(nonnull void (^)(UIBackgroundFetchResult))completionHandler{ [[RNFirebaseNotifications instance] didReceiveRemoteNotification:userInfo fetchCompletionHandler:completionHandler]; } - (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings { [[RNFirebaseMessaging instance] didRegisterUserNotificationSettings:notificationSettings]; }
@heletrix thanku so much.
it helped a lot.
After applying @troublediehard solution the app doesnot crash on local notifications but my push notification is not working after that, iPhone is unable to listen to push notifications after your solution
Not sure if it helps, but it seems that we managed to fix the issue on our side by removing the native Intercom iOS SDK, which we were trying to integrate in the app. In my opinion, it was likely the cause of our problem since there are a few calls to dispatch_group_leave
in the Intercom binary - at least that's what a short analysis in Ghidra shows. Can't be 100% sure about it since Intercom don't share their source code, but we didn't face the issue since we removed this SDK from our app.
Also, the Intercom SDK seems to try swizzling methods in the app to handle push notifications, as said in their documentation. There's probably a conflict between this and the Firebase iOS SDK, it might be worth trying to ask the Intercom SDK not to swizzle methods (there's a configuration option for that), but since the Intercom live chat was not a strong requirement for us, we replaced the Intercom SDK by a webview to the Intercom help center. :smile:
TL;DR: If there are other native components in your app that interact with notifications, try dropping them :shrug:
any solution yet??
So far this is resolved by people un-mixing other notification handlers. Do we have a solid reproduction case that starts with react-native init
, includes only RNFB, has an App.js with the code and steps to show it every time? We need a reproduction to demonstrate this is RNFB's fault and not just us delegating to other handlers that crash after RNFB handles it. If there's one above and I missed it sorry but I don't recall a reproduction
RCT_EXPORT_METHOD(complete:(NSString*)handlerKey fetchResult:(UIBackgroundFetchResult)fetchResult) {
if (handlerKey != nil) {
void (^fetchCompletionHandler)(UIBackgroundFetchResult) = fetchCompletionHandlers[handlerKey];
if (fetchCompletionHandler != nil) {
fetchCompletionHandlers[handlerKey] = nil;
@Try {
fetchCompletionHandler(fetchResult);
}
@catch (NSException * e) {
NSLog(@"Exception fetchCompletionHandler: %@", e);
};
} else {
void(^completionHandler)(void) = completionHandlers[handlerKey];
if (completionHandler != nil) {
completionHandlers[handlerKey] = nil;
@Try {
completionHandler();
}
@catch (NSException * e) {
NSLog(@"Exception completionHandler: %@", e);
};
}
}
}
}@heletrix thanks for sharing. I dispatch code in main thread instead and it's working for me
// node_modules/react-native-firebase/ios/RNFirebase/notifications/RNFirebaseNotifications.m RCT_EXPORT_METHOD(complete:(NSString*)handlerKey fetchResult:(UIBackgroundFetchResult)fetchResult) { if (handlerKey != nil) { void (^fetchCompletionHandler)(UIBackgroundFetchResult) = fetchCompletionHandlers[handlerKey]; dispatch_async(dispatch_get_main_queue(), ^{ if (fetchCompletionHandler != nil) { fetchCompletionHandlers[handlerKey] = nil; fetchCompletionHandler(fetchResult); } else { void(^completionHandler)(void) = completionHandlers[handlerKey]; if (completionHandler != nil) { completionHandlers[handlerKey] = nil; completionHandler(); } } }); } }
Thanks buddy, its working for me.
Experiencing the same thing as @mdyu1000
@heletrix thanks! This fix with main thread works for me too (I have used react-native-firebase v5.6.0 in my project). Should we create PR?
PRs to react-native-firebase v5 will no longer be accepted, but if we need a PR for current main branch, and we have success reports here, I'll happily merge it!
I am experiencing the same issue on ios 14
. Any solution?
"react-native": "0.62.2",
"@react-native-firebase/analytics": "^7.1.0",
"@react-native-firebase/app": "^7.1.0",
"@react-native-firebase/auth": "^8.0.0",
"@react-native-firebase/crashlytics": "^7.1.0",
"@react-native-firebase/dynamic-links": "^7.5.4",
"@react-native-firebase/firestore": "^7.1.0",
"@react-native-firebase/messaging": "^7.1.1",
Having the same issue with the 5.x.x, can someone confirm it is solved upgrading to the v6?
I think the issue is related to what is sent from the server in the payload. If you don't send the notification
key, it likely will crash. It seems data only notifications could be a key to why it's falling down
I need to find other solution, we send silent notifications with only data. The local fix in node modules is working, but I cannot share it with my team. So I'm a bit stuck. :/
@fxhrgco you can apply your local fix in postinstall script (something like https://stackoverflow.com/a/53648560/923497).
@troublediehard that solution is terrible but well-intended :-), what you want is patch-package - it is what we all use, don't leave home without it: https://github.com/ds300/patch-package
thanks for sharing!
I'm facing the same issue. But the solutions presented here only works for v5.x.x. There is any solution for more recently versions?
"@react-native-firebase/analytics": "^7.6.2",
"@react-native-firebase/app": "^8.4.2",
"@react-native-firebase/crashlytics": "^8.4.4",
"@react-native-firebase/messaging": "^7.8.6",
"@react-native-firebase/perf": "^7.4.3",
@mauriciosoares01 I had to ensure notification: {}
was part of the payload. It seems you cannot send _only_ a data object.
I send data-only pushes successfully, I'm pretty much always running most current releases (as guinnea pig for my own maintainer-ship)
RCT_EXPORT_METHOD(complete:(NSString*)handlerKey fetchResult:(UIBackgroundFetchResult)fetchResult) {
if (handlerKey != nil) {
void (^fetchCompletionHandler)(UIBackgroundFetchResult) = fetchCompletionHandlers[handlerKey];
if (fetchCompletionHandler != nil) {
fetchCompletionHandlers[handlerKey] = nil;
@Try {
fetchCompletionHandler(fetchResult);
}
@catch (NSException * e) {
NSLog(@"Exception fetchCompletionHandler: %@", e);
};
} else {
void(^completionHandler)(void) = completionHandlers[handlerKey];
if (completionHandler != nil) {
completionHandlers[handlerKey] = nil;
@Try {
completionHandler();
}
@catch (NSException * e) {
NSLog(@"Exception completionHandler: %@", e);
};
}
}
}
}@heletrix thanks for sharing. I dispatch code in main thread instead and it's working for me
// node_modules/react-native-firebase/ios/RNFirebase/notifications/RNFirebaseNotifications.m RCT_EXPORT_METHOD(complete:(NSString*)handlerKey fetchResult:(UIBackgroundFetchResult)fetchResult) { if (handlerKey != nil) { void (^fetchCompletionHandler)(UIBackgroundFetchResult) = fetchCompletionHandlers[handlerKey]; dispatch_async(dispatch_get_main_queue(), ^{ if (fetchCompletionHandler != nil) { fetchCompletionHandlers[handlerKey] = nil; fetchCompletionHandler(fetchResult); } else { void(^completionHandler)(void) = completionHandlers[handlerKey]; if (completionHandler != nil) { completionHandlers[handlerKey] = nil; completionHandler(); } } }); } }
@troublediehard You've saved me, thanks a lot 馃挴
Looks like the problem was solved in this PR, and is available in FirebaseSDK v7.1.0 (release note).
The problem was solved by updating the following packages:
"@react-native-firebase/analytics": "^8.0.1", (was 7.6.8)
"@react-native-firebase/app": "^9.0.0", (was 8.4.6)
"@react-native-firebase/crashlytics": "^8.4.11",
"@react-native-firebase/messaging": "^8.0.1", (was 7.9.1)
"@react-native-firebase/perf": "^7.4.9",
Great news! With those packages I believe you still need to override the SDK to 7.1.0 as I have not released the packages that switch to that as default yet - it is in the main branch and passes testing though so should be fine (#4533)
Most helpful comment
@heletrix thanks for sharing. I dispatch code in main thread instead and it's working for me