ReactNativeNavigation.h file not found after updating react native version

オープン
#8,241 コメント 3 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
38/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
静か
技術スタック
react-native

調査の方向性

まず iOS のビルド失敗を再現し、AppDelegate.m の import と Podfile の設定を確認します。レポートで言及されている React Native 0.74.3 と 0.78 の統合ポイントを比較します。ReactNativeNavigation ヘッダーが解決され、アプリが iOS 向けに正常にビルドできれば完了です。

索引モデルが issue の本文から書いたものです。

説明

🏚 stale platform: iOS type: accepted/bug
What happened?

I've been tasked and I am working on updating the react native version of my application. After updating it all and making sure there are no other errors, when trying to build the app for iOS I am getting 'ReactNativeNavigation/ReactNativeNavigation.h' file not found in AppDelegate.m

I've looked around the github issues here and tried changing the podfile as suggested, but to no avail.

Heres the podfile:

  # Resolve script with node to allow for hoisting
  require Pod::Executable.execute_command('node', ['-p',
    "require.resolve(
      '#{script}',
      {paths: [process.argv[1]]},
    )", __dir__]).strip
end
#Use it to require both react-native's and this package's scripts:
node_require('react-native/scripts/react_native_pods.rb')
node_require('react-native-permissions/scripts/setup.rb')

platform :ios, '18.0'
prepare_react_native_project!

setup_permissions([
  'AppTrackingTransparency',
  # 'Bluetooth',
  # 'Calendars',
  # 'CalendarsWriteOnly',
  'Camera',
  # 'Contacts',
  # 'FaceID',
  # 'LocationAccuracy',
  # 'LocationAlways',
  # 'LocationWhenInUse',
  'MediaLibrary',
  'Microphone',
  # 'Motion',
  'Notifications',
  'PhotoLibrary',
  # 'PhotoLibraryAddOnly',
  # 'Reminders',
  # 'Siri',
  # 'SpeechRecognition',
  # 'StoreKit',
])

linkage = ENV['USE_FRAMEWORKS']
if linkage != nil
  Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green
  use_frameworks! :linkage => linkage.to_sym
end

static_frameworks = [
 'FirebaseCore',
 'FirebaseCoreExtension',
 'GoogleUtilities',
 'FirebaseCoreInternal',
 'FirebaseInstallations',
 'GoogleDataTransport',
 'FirebaseFirestoreInternal',
 'FirebaseMessagingInternal',
 'FirebaseAuth',
]
pre_install do |installer|
 installer.pod_targets.each do |pod|
   if static_frameworks.include?(pod.name)
     puts "Configuring #{pod.name} as static framework"
     def pod.build_type
       Pod::BuildType.new(:linkage => :static, :packaging => :framework)
     end
   end
 end
end


target 'myapp' do
  config = use_native_modules!

  $RNFirebaseAsStaticFramework = true
  pod 'GoogleAnalytics'
  pod 'FirebaseDatabase', :modular_headers => true
  pod 'FirebaseABTesting', :modular_headers => true
  pod 'FirebaseAppCheckInterop', :modular_headers => true
  pod 'leveldb-library', :modular_headers => true
  pod 'nanopb', :modular_headers => true

  config = use_native_modules!

  use_react_native!(
    :path => config[:reactNativePath],
    :hermes_enabled => true,
    # An absolute path to your application root.
    :app_path => "#{Pod::Config.instance.installation_root}/.."
  )

  post_install do |installer|
    # https://github.com/facebook/react-native/blob/main/packages/react-native/scripts/react_native_pods.rb#L197-L202
    react_native_post_install(
      installer,
      config[:reactNativePath],
      :mac_catalyst_enabled => false,
      # :ccache_enabled => true
    )
  end
end
What was the expected behaviour?

That the app correctly builds for iOS.

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!

Started happening after updating from react-native 0.74.3 to 0.78

In what environment did this happen?

React Native Navigation version: 8.7.5
React Native version: 0.78
Has Fabric (React Native's new rendering system) enabled: (yes/no) No
Node version: 18.20.8
Device model: iPhone 17 Pro (emulator)
iOS version: 26.2

主要言語
MDX
スター
13.2k
フォーク
2.6k
平均マージ
2日 10時間
マージ済み PR(30日)
6

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

wix/react-native-navigation のほかの issue

wix/react-native-navigation の issue をすべて見る

似ている issue

Build System の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。