Troubleshooting
Async await doesn't resolve
If you're having issues with getItem() and friends not resolving, check if
inlineRequires is enabled in metro.config.js:
module.exports = {
transformer: {
getTransformOptions: async () => ({
transform: {
experimentalImportSupport: false,
inlineRequires: true,
},
}),
},
};
If disabling it resolves the issue, it's likely that you hit a circular import
chain. You can try excluding @react-native-async-storage/async-storage from
being inlined:
module.exports = {
transformer: {
getTransformOptions: async () => ({
transform: {
experimentalImportSupport: false,
inlineRequires: true,
+ nonInlinedRequires: [
+ "@react-native-async-storage/async-storage",
+ 'React',
+ 'react',
+ 'react-native',
+ ],
},
}),
},
};
If this doesn't resolve the issue, you need to figure out what is causing the cyclic chain. There are tools, such as @rnx-kit/metro-plugin-cyclic-dependencies-detector, that can help you debug this.
[iOS] CocoaPods issues
- Delete the
node_modulesfolder(s) from your project - Run
yarnornpm install - If you're using CocoaPods:
- Make sure your
Podfiledoes not have an entry forRNCAsyncStorage. pod installpod update RNCAsyncStorage
- Make sure your
- Open your Xcode project
- Press ⇧⌥⌘K to clean your build folder
- Build and run your project
Note that every time
@react-native-async-storage/async-storagegets updated, you must also runpod update RNCAsyncStorageotherwise you'll still be using the previous version.
[iOS] fatal error: 'React/RCTBridgeModule.h' file not found
info In file included from /~/@react-native-async-storage/async-storage/ios/RNCAsyncStorage.m:8:
/~/@react-native-async-storage/async-storage/ios/RNCAsyncStorage.h:8:9: fatal error: 'React/RCTBridgeModule.h' file not found
info #import <React/RCTBridgeModule.h>
^~~~~~~~~~~~~~~~~~~~~~~~~
info 1 error generated.
Make sure that you've run
pod installorpod update RNCAsyncStorage(see also CocoaPods issues).Make sure that
Reactdependencies are not removed from projects. Without the target dependency set, Xcode may build things out of order and the React headers will not be installed when AsyncStorage is built.post_install do |installer|
installer.pods_project.targets.each do |target|
if target.name == "React"
target.remove_from_project
end
end
endTry switching back to the legacy build system in Xcode. You can find it in File > Project/Workspace Settings sheet.
[@RNC/AsyncStorage]: NativeModule: AsyncStorage is null
iOS
This error means that AsyncStorage was unable to find its native module. This occurs because AsyncStorage was not linked into the final app bundle.
Make sure that you've run pod install or pod update RNCAsyncStorage (see
also CocoaPods issues).