wix / wix/react-native-navigation
'rnnavigation/rnnavigation.h' file not found
Nobody has claimed this yet.
- Dominant language
- MDX
- Stars
- 13.2k
- Forks
- 2.6k
- Avg merge
- 6d 2h
- Merged PRs (30d)
- 1
Description
What happened?
Working on upgrade my react native app react native version 0.75.5 to 0.83.0 and I believe react native navigation latest is also support only 0.83.0, right? and I am using react native Navigation version now is 8.7.5 and previous I am using 7.40.3 but now I am upgrade react native version so I am use new version of RNN. below is my podfile for referance:
def node_require(script)
require Pod::Executable.execute_command(
'node',
['-p', "require.resolve('#{script}', {paths: [process.argv[1]]})", dir]
).strip
end
node_require('react-native/scripts/react_native_pods.rb')
node_require('@react-native-community/cli-platform-ios/native_modules.rb')
begin
node_require('react-native-permissions/scripts/setup.rb')
rescue
Pod::UI.warn "react-native-permissions not installed."
end
platform :ios, '15.1'
prepare_react_native_project!
$RNFirebaseAsStaticFramework = true
def firebase_modular_headers!
pod 'GoogleUtilities', :modular_headers => true
pod 'GoogleDataTransport', :modular_headers => true
pod 'nanopb', :modular_headers => true
end
$rn_config = nil
abstract_target 'FirstAppPods' do
$rn_config = use_native_modules!
firebase_modular_headers!
use_react_native!(
:path => $rn_config[:reactNativePath],
:app_path => "#{Pod::Config.instance.installation_root}/.."
)
pod 'ReactNativeNavigation', :path => '../node_modules/react-native-navigation'
pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text', :modular_headers => true
if defined?(setup_permissions)
setup_permissions([
'Camera',
'FaceID',
'MediaLibrary',
'PhotoLibrary',
'PhotoLibraryAddOnly',
])
end
target 'FirstApp' do
end
target 'FirstApp Test' do
inherit! :complete
end
end
post_install do |installer|
react_native_post_install(
installer,
$rn_config[:reactNativePath],
:mac_catalyst_enabled => false
)
installer.pods_project.targets.each do |t|
t.build_configurations.each do |cfg|
cfg.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.1'
end
end
end
I am using firebase functionalities like analytics in app and below is my Package.json file for reference:
{
"name": "first-app",
"version": "0.01",
"android-version": "0.0.1",
"ios-version": "0.0.1",
"private": true,
"scripts": {
"android": "npx react-native run-android --mode 'envTestDebug' --appIdSuffix 'test.debug'",
"android-prod": "npx react-native run-android --mode 'envProdDebug' --appIdSuffix 'debug'",
"ios": "react-native run-ios",
"start": "react-native start --reset-cache",
"test": "jest",
"lint": "eslint .",
"postinstall": "patch-package"
},
"dependencies": {
"@react-native-async-storage/async-storage": "2.2.0",
"@react-native-clipboard/clipboard": "^1.16.3",
"@react-native-community/datetimepicker": "^8.6.0",
"@react-native-firebase/analytics": "^23.8.6",
"@react-native-firebase/app": "^23.8.6",
"@react-native-firebase/crashlytics": "^23.8.6",
"axios": "^1.13.5",
"base-64": "^1.0.0",
"buffer": "^6.0.3",
"compare-versions": "^6.1.1",
"form-data": "^4.0.5",
"google-libphonenumber": "^3.2.44",
"i18n-js": "^4.5.2",
"intl": "^1.2.5",
"lodash": "^4.17.23",
"moment": "^2.30.1",
"moment-timezone": "^0.6.0",
"patch-package": "^8.0.1",
"prop-types": "^15.8.1",
"qs": "^6.15.0",
"react": "19.2.0",
"react-devtools": "^5.3.2",
"react-native": "0.83.0",
"react-native-background-timer": "^2.4.1",
"react-native-biometrics": "^3.0.1",
"react-native-blob-util": "^0.24.7",
"react-native-build-config": "^0.3.2",
"react-native-confirmation-code-field": "^7.6.1",
"react-native-device-info": "^13.2.0",
"react-native-devsettings": "^1.0.5",
"react-native-document-picker": "^9.3.1",
"react-native-encrypted-storage": "^4.0.3",
"react-native-exit-app": "^2.0.0",
"react-native-fingerprint-scanner": "git+https://github.com/hieuvp/react-native-fingerprint-scanner.git#9cecc0db326471c571553ea85f7c016fee2f803d",
"react-native-fs": "^2.20.0",
"react-native-image-crop-picker": "^0.51.1",
"react-native-indicators": "^0.17.0",
"react-native-keyboard-aware-scroll-view": "^0.9.5",
"react-native-keychain": "^8.2.0",
"react-native-linear-gradient": "^2.8.3",
"react-native-modal": "^13.0.2",
"react-native-navigation": "8.7.5",
"react-native-permissions": "^5.4.4",
"react-native-qrcode-svg": "^6.3.21",
"react-native-recaptcha-v2": "^1.0.2",
"react-native-safe-area-context": "^5.5.2",
"react-native-svg": "^15.15.3",
"react-native-text-input-mask": "^3.2.0",
"react-native-webview": "^13.16.0",
"react-redux": "^9.2.0",
"redux": "^5.0.1",
"uk-modulus-checking": "^0.1.4"
},
"devDependencies": {
"@babel/core": "^7.25.2",
"@babel/preset-env": "^7.25.3",
"@babel/runtime": "^7.25.0",
"@react-native-community/cli": "20.0.0",
"@react-native-community/cli-platform-android": "20.0.0",
"@react-native-community/cli-platform-ios": "20.0.0",
"@react-native-community/eslint-config": "^3.2.0",
"@react-native/babel-preset": "0.83.0",
"@react-native/eslint-config": "0.83.0",
"@react-native/metro-config": "0.83.0",
"@react-native/typescript-config": "0.83.0",
"@types/jest": "^29.5.13",
"@types/react": "^19.2.0",
"@types/react-native": "^0.73.0",
"@types/react-test-renderer": "^19.1.0",
"eslint": "^9.24.0",
"jest": "^29.6.3",
"metro-react-native-babel-preset": "^0.77.0",
"prettier": "3.8.1",
"react-native-svg-transformer": "^1.5.3",
"react-test-renderer": "19.2.0",
"typescript": "^5.8.3"
},
"engines": {
"node": ">=20"
}
}
AppDelegate.h
#import "RNNAppDelegate.h"
#import <UIKit/UIKit.h>
@interface AppDelegate : RNNAppDelegate
@end
AppDelegate.mm
#import "AppDelegate.h"
#import <React/RCTBundleURLProvider.h>
#import <ReactNativeNavigation/ReactNativeNavigation.h>
#import <Firebase.h>
@implementation AppDelegate
-
(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[FIRApp configure];
[ReactNativeNavigation bootstrapWithDelegate:self launchOptions:launchOptions];
return YES;
} -
(NSURL *)bundleURL
{
#if DEBUG
return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"];
#else
return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
#endif
}
@end
When I run app then I got this issue. Please help me out to solve this issue.
What was the expected behaviour?
Want to run successfully run app.
Was it tested on latest react-native-navigation?
- I have tested this issue on the latest react-native-navigation release and it still reproduces.
Help us reproduce this issue!
I mentions details about podfile and package.json file which I user and create project and may be use those into project and reproduce.
In what environment did this happen?
React Native Navigation version: 8.7.5
React Native version: 0.83.0
Has Fabric (React Native's new rendering system) enabled: (yes/no) no I believe
Node version: v20.20.0
Device model: iPhone 16 pro max simulator
iOS version: 18.3.1
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the reported missing rnnavigation/rnnavigation.h error and inspect AppDelegate.h, AppDelegate.mm, and the Podfile alongside the React Native Navigation 8.7.5 and React Native 0.83.0 setup. Reproduce the iOS build using the provided configuration, then verify that the header is found and the app launches successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react-native
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 46/100