Closed matinzd closed 6 days ago
Can you show your Podfile?
source 'https://cdn.cocoapods.org/'
require_relative '../node_modules/react-native/scripts/react_native_pods'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
$RNFirebaseAnalyticsWithoutAdIdSupport = true # Disable Ad Id usage
$RNFirebaseAsStaticFramework = true
production = ENV["PRODUCTION"] == "1" || ENV['CI'] == "1"
project 'DietDoctorRN',
'Debug-prod' => :debug,
'Release-prod' => :release,
'Debug-dev' => :debug,
'Release-dev' => :release
platform :ios, '12.4'
install! 'cocoapods', :deterministic_uuids => false
use_frameworks!
target 'DietDoctorRN' do
config = use_native_modules!
# Flags change depending on the env values.
flags = get_default_flags()
use_react_native!(
:path => config[:reactNativePath],
:production => production,
# to enable hermes on iOS, change `false` to `true` and then install pods
:hermes_enabled => flags[:hermes_enabled],
:fabric_enabled => flags[:fabric_enabled],
:flipper_configuration => FlipperConfiguration.new(!production, ['Release-prod','Release-dev','Debug-prod', 'Debug-dev'], {}),
# An absolute path to your application root.
:app_path => "#{Pod::Config.instance.installation_root}/.."
)
pod 'KeychainSwift'
# permission handlers for ios
# https://github.com/zoontek/react-native-permissions
permissions_path = '../node_modules/react-native-permissions/ios'
pod 'Permission-Camera', :path => "#{permissions_path}/Camera"
pod 'Permission-PhotoLibrary', :path => "#{permissions_path}/PhotoLibrary"
target 'DietDoctorRNTests' do
inherit! :complete
# Pods for testing
end
post_install do |installer|
react_native_post_install(installer)
__apply_Xcode_12_5_M1_post_install_workaround(installer)
end
end
I tried your workaround in your document but that breaks the build.
@baveku
ReactNative doesn't support use_framework!, so You need remove it on Podfile.
ReactNative doesn't support use_framework!, so You need remove it on Podfile.
@baveku Are you sure?
https://github.com/facebook/react-native/pull/34011 starts with "use_frameworks! is broken again in react-native 0.69..." which implies it worked in the past and the release notes for 0.69.1 state it should work again: https://github.com/facebook/react-native/releases/tag/v0.69.1
@matinzd you're not trying this with RN 0.69.0 by any chance are you?
@matinzd you're not trying this with RN 0.69.0 by any chance are you?
I am trying with 0.69.3.
ReactNative doesn't support use_framework!, so You need remove it on Podfile.
This should be fixed AFAIK but not for Flipper-Boost-iOSX
. https://github.com/facebook/react-native/commit/79baca678a743560fa16fdd551f1d0d018d34304
I have the same problem with react-native 0.69.3 and firebase 15.2.0. After updating the firebase the issue arise with Flipper.
I got same issue with "react-native": "0.69.3", and "@react-native-firebase/app": "^15.2.0"
Looks like something suspicious to me
Is there any progress on this issue? We need it for our app as we can't update our Firebase and RN until this is fixed
I got the same problem, when i run pod install
and use_frameworks!.
[!] The 'Pods-xxxx' target has transitive dependencies that include statically linked binaries: (Flipper-Boost-iOSX and Flipper-RSocket)
I try remove use_flipper!()
in podfile, error disappeared.
I got the same problem, when i run
pod install
and use_frameworks!.
[!] The 'Pods-xxxx' target has transitive dependencies that include statically linked binaries: (Flipper-Boost-iOSX and Flipper-RSocket)
I try removeuse_flipper!()
in podfile, error disappeared.
Yeah we know removing flipper can fix the issue but this needs to be fixed in Flipper.
@matinzd Did you fix this issue?
use_flipper
Remove: use_frameworks! Add: use_modular_headers!
# use_frameworks!
use_modular_headers!
Works here!
_https://rnfirebase.io Note use_frameworks is not compatible with Flipper. A fix was put in place in react-native release 0.69.1 that makes it work with and without Hermes. To use it with Hermes make sure you have set static linkage with use_frameworks! :linkage => :static. To use without Flipper, comment out the :flipper_configuration line in your Podfile. Community support to help fix useframeworks support for New Architecture is welcome! Getting Error Flipper.h not found
use_flipper
Remove: use_frameworks! Add: use_modular_headers!
# use_frameworks!
use_modular_headers!
Works here!
Not work for me. issue https://github.com/facebook/react-native/issues/26217
remove: use_frameworks! add: use_modular_headers!
Dear @douglassoldan, Does the above change work on RN v0.68.2? after installing Firebase stuff the flipper network plugin doesn't work anymore.
remove: use_frameworks! add: use_modular_headers!
Dear @douglassoldan, Does the above change work on RN v0.68.2? after installing Firebase stuff the flipper network plugin doesn't work anymore.
For now, you can either downgrade Firebase SDK to 14.x.x or try removing incompatible modules with use_frameworks
.
It depends on a project and dependencies. use_modular_headers
may not work as well. So what we did was to keep Firebase SDK on 14.x.x for now and we'll upgrade it in the future when everything is fixed.
@matinzd Which version are you using?
++
++++++
Same issue here
+1
+1
+1
use_flipper
Remove: use_frameworks!
Add: use_modular_headers!
# use_frameworks!
use_modular_headers!
Works here!
That doesn't help for statically linked libraries such as react native firebase or react native video.
I solved this problem with the following code in my project (react native version: 0.68.3) 1、 use_frameworks! :linkage => :static 2、rewrite the dependent library as the static_library type
use_frameworks! :linkage => :static
$static_framework = ['FlipperKit', 'Flipper', 'Flipper-Folly', 'ComponentKit', 'Flipper-DoubleConversion',
'Flipper-Glog', 'Flipper-PeerTalk', 'Flipper-RSocket', 'Yoga', 'YogaKit',
'CocoaLibEvent', 'OpenSSL-Universal', 'boost-for-react-native', 'Flipper-Fmt', 'React-hermes']
installer.pod_targets.each do |pod|
if $static_framework.include?(pod.name)
def pod.build_type
Pod::BuildType.static_library
end
end
end
How is this not fixed?
You are literally stuck if you use the latest Firebase and Hermes. No way to debug your API calls.
@xueqiulou you mean to put the static lib (in my case react-native-firebase) inside the $static_framework
array?
How is this not fixed?
➕ ➕ ➕ ➕
Still got the same error with react 0.73 while following the 'AwesomeProject' tutorial, I kept retrying until it worked.
You have to replace this use_frameworks! :linkage => linkage.to_sym
and use use_frameworks! :linkage => :static
,
use static linkage instead of linkage.to_sym in your podfile
I think this issue should be closed, Flipper doesn't exist in the React Native package anymore.
cc: @matinzd
🐛 Bug Report
I know that Flipper is not compatible with use_frameworks yet but this topic will get too heated. If we enable
use_frameworks!
there are some issues installing statically linked binaries:Related issue: https://github.com/facebook/flipper/issues/2414
To Reproduce
use_frameworks!
in podfilepod install
Environment