ld error with BoringSSL-GRPC
Closed this issue · 4 comments
❌ ld: '/Users/[REDACTED]/Library/Developer/Xcode/DerivedData/App-crddnaqtledltaaoywtaqkllohdm/Build/Intermediates.noindex/ArchiveIntermediates/App/BuildProductsPath/Release-iphoneos/XCFrameworkIntermediates/FirebaseFirestore/Base/BoringSSL-GRPC.framework/BoringSSL-GRPC(BoringSSL-GRPC-dummy.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. file '/Users/[REDACTED]/Library/Developer/Xcode/DerivedData/App-crddnaqtledltaaoywtaqkllohdm/Build/Intermediates.noindex/ArchiveIntermediates/App/BuildProductsPath/Release-iphoneos/XCFrameworkIntermediates/FirebaseFirestore/Base/BoringSSL-GRPC.framework/BoringSSL-GRPC' for architecture arm64
Podfile
require_relative '../node_modules/react-native/scripts/react_native_pods'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
$RNFirebaseAsStaticFramework = true
platform :ios, '11.0'
target 'App' do
use_frameworks! :linkage => :static
config = use_native_modules!
use_react_native!(
:path => config["reactNativePath"],
:hermes_enabled => true
)
permissions_path = '../node_modules/react-native-permissions/ios'
pod 'Permission-Notifications', :path => "#{permissions_path}/Notifications"
pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag => '10.1.0'
pod 'RNFS', :path => '../node_modules/react-native-fs'
pod 'Firebase', :modular_headers => true
pod 'FirebaseCoreInternal', :modular_headers => true
pod 'GoogleUtilities', :modular_headers => true
pod 'FirebaseCore', :modular_headers => true
pod 'FirebaseCoreExtension', :modular_headers => true
pod 'FirebaseAppCheckInterop', :modular_headers => true
pod 'FirebaseAuthInterop', :modular_headers => true
pod 'FirebaseMessagingInterop', :modular_headers => true
pod 'GTMSessionFetcher', :modular_headers => true
post_install do |installer|
react_native_post_install(installer)
__apply_Xcode_12_5_M1_post_install_workaround(installer)
installer.pods_project.targets.each do |target|
if target.name == 'RCT-Folly'
target.build_configurations.each do |config|
config.build_settings['HEADER_SEARCH_PATHS'] = "$(inherited) ${PODS_ROOT}/fmt/include"
end
end
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
end
end
end
end
Xcode 14 dropped bitcode support and Firebase dropped bitcode generation in 10.1.0.
Yep - bitcode is dead, long live bitcode: https://stackoverflow.com/questions/72543728/xcode-14-deprecates-bitcode-but-why/73219854#73219854
You can put this in your Podfile (and also make sure in the Xcode UI it is disabled) in order to purge it out programmatically:
should go in your post_install
section:
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings["ENABLE_BITCODE"] = "NO"
end
end
One problem led to the next. I end up just downgrading to 8.15.0 and react-native-firebase to 14.11.1 which was the last version before the one that started requiring changes that caused more issues after fixing more issues.
Thanks for the help though.
You might like: https://github.com/mikehardy/rnfbdemo/blob/main/make-demo.sh
It will generate a fully working project from scratch on current versions, just to see what it's supposed to look like (and the script has descriptive comments explaining why it does the things it does...)