flurry / react-native-flurry-sdk

React Native Flurry SDK
Apache License 2.0
45 stars 13 forks source link

TypeError: null is not an object (evaluating 'ReactNativeFlurry.initBuilder') #44

Open sansavision opened 2 years ago

sansavision commented 2 years ago

Describe the bug In index.js where we init the builder results in a crash. Error message: TypeError: null is not an object (evaluating 'ReactNativeFlurry.initBuilder') which then crashes the app with When we uncomment the flurry builder, it works. We have used flurry for a long time with no issues.

This Bug is About Please choose the closest item by replacing [ ] with [x].

Platform Please choose the platform(s) that you are having the issue by replacing [ ] with [x].

Environment Please tell us the versions of SDKs you are using. If you are not sure about React Native version, you can run react-native --version under your project.

To Reproduce Steps to reproduce the behavior:

  1. create react native project
  2. in the index js, init the builder new Flurry.Builder() .withCrashReporting(true) .withLogEnabled(true) .withLogLevel(Flurry.LogLevel.DEBUG) .build(FLURRY_ANDROID_API_KEY, FLURRY_IOS_API_KEY);

Error message: TypeError: null is not an object (evaluating 'ReactNativeFlurry.initBuilder') app crashes with invariant view error. """ Invariant Violation: Module AppRegistry is not a registered callable module (calling runApplication). A frequent cause of the error is that the application entry file path is incorrect. This can also happen when the JS bundle is corrupt or there is an early initialization error when loading React Native. """

When we uncomment the flurry builder, everything works well.

Screenshots If applicable, add screenshots to help explain your problem.

Additional context Are you using Flurry Push/Messaging? No (iOS) Are you using CocoaPods for React Native integration? Yes

Add any other context about the problem here.

poting-oath commented 2 years ago

@sansavision Are you using Expo? Please refer to https://github.com/flurry/react-native-flurry-sdk/issues/31

Expo does NOT support or manage custom native libraries except their own build-in.

sansavision commented 2 years ago

Hi

No we are not using expo.

poting-oath commented 2 years ago

@sansavision Do you have the same issue for Android?

We have used flurry for a long time with no issues.

Issue did not happen for the previous react-native-flurry-sdk versions?

sansavision commented 2 years ago

I remember it working on older versions. No problem with the android version.

poting-oath commented 2 years ago

@sansavision Thanks for the info! There is a known issue in the iOS native version 12.0.0. While we are working on the solution, could you please go back to use react-native-flurry-sdk versions 7.1.1? And please let us know whether it resolves your issue or not. Thanks!

sansavision commented 2 years ago

@poting-oath ok, i will try it and let you know. Thanks.

sansavision commented 2 years ago

Figured out what the problem was. For some reason the sdk was not automatically installed with pod install, I had to manually add it: pod 'react-native-flurry-sdk', :path => '../node_modules/react-native-flurry-sdk/ios' in the pod file. But now the latest version works. I suggest you check if this is a common issue or maybe it was a limited issue with my specific build. Cheers

poting-oath commented 1 year ago

Looks like newer React Native's Autolinking is no longer working here! It only looks up the .podspec file at the project root folder (ignores the ios subfolder).

poting-oath commented 1 year ago

@sansavision Fix is released in version 8.0.0. Thanks for your help!