Skip to content

New Architecture - Builds fail when Podfile uses static linking #8026

@kevin-madden-gf

Description

@kevin-madden-gf

What happened?

When using static frameworks in the Podfile:

Use static frameworks

use_frameworks! :linkage => :static

Build fail with an error in RNNButtonView (RCTHost.h file not found) - see the image from Xcode below:

Image

Static linking is required for some packages, e.g. react-native-firebase.

This seems to have something to do with the builds that support new architecture. Build 8.0.0 with new architecture disabled builds fine.

What was the expected behaviour?

The build completes without issue.

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!

Try using a Podfile like the one below, on 8.1.0 RC1, to replicate

$RNFirebaseAsStaticFramework = true # Resolve react_native_pods.rb with node to allow for hoisting require Pod::Executable.execute_command('node', ['-p', 'require.resolve( "react-native/scripts/react_native_pods.rb", {paths: [process.argv[1]]}, )', __dir__]).strip platform :ios, '15.1' prepare_react_native_project! # Use static frameworks use_frameworks! :linkage => :static config = use_native_modules! 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 target 'AwesomeProject' do ENV['RCT_NEW_ARCH_ENABLED'] = '1' use_react_native!( :path => config[:reactNativePath], # An absolute path to your application root. :app_path => "#{Pod::Config.instance.installation_root}/..", :hermes_enabled => true ) pod 'Firebase', :modular_headers => true pod 'FirebaseCore', :modular_headers => true pod 'FirebaseCoreInternal', :modular_headers => true pod 'GoogleUtilities', :modular_headers => true target 'AwesomeProjectTests' do inherit! :complete # Pods for testing end 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 

In what environment did this happen?

React Native Navigation version: 8.1.0 RC1
React Native version: 0.76.9
Has Fabric (React Native's new rendering system) enabled: (yes/no) yes
Node version: 22
Device model: iPhone 11
iOS version: 18.1

Metadata

Metadata

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions