React-native, "Native module cannot be null"
React NativeReact Native Problem Overview
React Native Solutions
Solution 1 - React Native
The red-box complaints react-native cannot find some symbol <unkown>
in PushNotificationIOS.js line 18
.
This usually happens when you fail to link the third lib to your target causing NativeModules find nothing at attempt.
To solve this, your Project Navigator -> Target -> General -> Linked Frameworks and Libraries, make sure somelib.a
is there.
In your case, please follow the ios install guides and react-native doc
Solution 2 - React Native
Sometime, if you had another react-native packager already running for a different app. You may see this problem.
Especially if the react-native versions are same and the previously started app requires a native module which is not available in the current app.
In these cases, you can kill the react packager terminal and restart it and problem should go away.
Also if it is the same app and you just upgraded. Make sure that it is linked properly. If not call react-native link
Solution 3 - React Native
In my case, running a $ pod install
inside /ios directory did the trick!
Solution 4 - React Native
I think this has to do with how to export and import your modules. Make sure each corresponding
If you export your module like this module.exports = moduleName;
You should import using var moduleName = require('moduleName');
If export your module using export default moduleName;
. You should import using import ModuleName from './ModuleName;
Review all your exports and imports.
Solution 5 - React Native
remove react-native-push-notification in node_modules
run npm install [email protected]
Solution 6 - React Native
My issue had the same symptoms but a much different root cause. I had two React Native projects open in two different instances of Xcode. My Metro bundler was still running from Project A and causing problems running Project B in the simulator.
The fix: close the old terminal window spawned by Xcode that had the Metro Bundler running and re-run the project.
Solution 7 - React Native
npm i @react-native-community/push-notification-ios
cd ios && pod install
react-native unlink @react-native-community/push-notification-ios
That's how I solved it after struggling for hours.
Solution 8 - React Native
Please use react native community's ios push notification package instead of native's one.
https://github.com/react-native-community/react-native-push-notification-ios
Remove RCTPushNotification project from your libraries and try to use react-native-community's ios push notification. You need to follow the guide. (There are some differences in xcode and linking.)
Solution 9 - React Native
1- In iOS message is 'Native module cannot be null'
2- In Android message is 'null is not an object evaluating RNFSManager etc'
Meaning is the same and solutions are different, for both cases you need to link native library manually.
Solution for iOS is run pod install
in iOS Directory, then react-native run-ios
to re-run the app.
Solution for android is react-native link react-native-fs
then react-native run-android
to re-run the app.
Note: In android better is to open project in android studio again to avoid any inconvenience.
Solution 10 - React Native
if it helps someone. Manual link the library in node_modules/react-native/libraries/PushNotificationIOS/RCTPushNotification.xcodeproj for ios https://facebook.github.io/react-native/docs/linking-libraries-ios#manual-linking
that's where the manual linking refers to. not react-native-push-notification
Solution 11 - React Native
Try command
$pod install
in YourProject/ios
. It worked for me.
Hope it helps?