If you're using react-native-flipper and do pod install, the included files assume you have FlipperKit installed.
However, if you have lines like these in your Podfile, FlipperKit will only be installed when your application is run in Debug configuration.
def add_flipper_pods!
version = '~> 0.33.1'
pod 'FlipperKit', version, :configuration => 'Debug'
pod 'FlipperKit/FlipperKitLayoutPlugin', version, :configuration => 'Debug'
pod 'FlipperKit/SKIOSNetworkPlugin', version, :configuration => 'Debug'
pod 'FlipperKit/FlipperKitUserDefaultsPlugin', version, :configuration => 'Debug'
pod 'FlipperKit/FlipperKitReactPlugin', version, :configuration => 'Debug'
end
Creating a release build will fail.
I upgraded from RN 0.61.5 to 0.62 and did the migration by hand, so I might've missed something that prevents this bug from happening on a fresh 0.62 install.
npm i --save-dev react-native-flipperpod installUndefined symbols for architecture arm64:
"_OBJC_CLASS_$_FlipperClient", referenced from:
objc-class-ref in libreact-native-flipper.a(FlipperReactNativeJavaScriptPluginManager.o)
When react-native-flipper is removed and pod install is ran again, a release build will compile again.
iOS
cc. @priteshrnandgaonkar, @mweststrate
Same here
The same here.
If I add Release configuration it works as well
def add_flipper_pods!
version = '~> 0.33.1'
pod 'FlipperKit', version, :configuration => ['Debug', 'Release']
pod 'FlipperKit/FlipperKitLayoutPlugin', version, :configuration => ['Debug', 'Release']
pod 'FlipperKit/SKIOSNetworkPlugin', version, :configuration => ['Debug', 'Release']
pod 'FlipperKit/FlipperKitUserDefaultsPlugin', version, :configuration => ['Debug', 'Release']
pod 'FlipperKit/FlipperKitReactPlugin', version, :configuration => ['Debug', 'Release']
end
Facing the same issue
Apologies for not updating the issue! @priteshrnandgaonkar landed a fix yesterday: https://github.com/facebook/react-native/commit/e5497ca8f6e3b240948fdbeef0ac2a710f25bb56, so this should be fixed in the next release, but if you don't want to await that, I think it should be possible to manually copy these changes.
Fixed for me by remove react-native-flipper (installed when i add flipper-plugin-rn-redux-inspector)
@mweststrate After upgrade to react-native v. 0.62.2 and react-native-flipper v. 0.37 the issue still presents ;(
As a workaround I had to disable auto-link for react-native-flipper for iOS. And manually add pods installation for react-native-flipper with Debug configutation
react-native-config.js
module.exports = {
dependencies: {
...
'react-native-flipper': {
platforms: {
ios: null,
},
},
...
},
}
pods
pod 'react-native-flipper', :path => '../node_modules/react-native-flipper/react-native-flipper.podspec', :configuration => 'Debug'
I hope it helps.
I can confirm that the workaround by @tr3v3r works!
For anyone who is facing the same issue with the react native version v0.62.0 or v0.62.1.
Check this out!
v0.62.2react-native-flipper and flipper-plugin-rn-redux-inspector in your dependencies, the issue must be fixed after upgraded. react-native-flipper or flipper-plugin-rn-redux-inspector just remove both of them.node_modules and Podsnpm install (or yarn, if you use yarn) and cd ios && pod installClosing this issue, feel free to reopen if the issue persists in v0.62.2 with the above mentioned changes.
This is not fixed yet. Flipper is till included in release mode.
This issue is closed, please open a new issue including your build
configuration in the podspec file
On Sat, 25 Apr 2020, 14:02 Aashish Patil, notifications@github.com wrote:
This is not fixed yet. Flipper is till included in release mode.
ā
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/facebook/flipper/issues/976#issuecomment-619376533,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAN4NBGMKEIO3IE4UFRX3M3ROLNPLANCNFSM4L7H6PBA
.
After upgrade to react-native v. 0.63.0-rc.0 and react-native-flipper v. 0.39 the issue still presents
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_FlipperClient", referenced from:
objc-class-ref in libreact-native-flipper.a(FlipperReactNativeJavaScriptPluginManager.o)
ld: symbol(s) not found for architecture arm64
require_relative '../node_modules/react-native/scripts/react_native_pods'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
target 'myApp' do
platform :ios, '11.0'
pod 'Firebase/Core', '~> 6.3.0'
pod 'Firebase/Messaging', '~> 6.3.0'
pod 'Crashlytics', '~> 3.14.0'
pod 'RSKImageCropper','~> 2.0.0'
pod 'QBImagePickerController' ,'~> 3.4.0'
pod 'Stripe', '~> 14.0.0'
pod 'GoogleIDFASupport', '~> 3.14.0'
pod 'Fabric', '~> 1.10.2'
# React Native Maps dependencies
rn_maps_path = '../node_modules/react-native-maps'
pod 'react-native-google-maps', :path => rn_maps_path
pod 'GoogleMaps'
pod 'Google-Maps-iOS-Utils'
config = use_native_modules!
use_react_native!(:path => config["reactNativePath"])
target 'myAppTests' do
inherit! :complete
# Pods for testing
end
# Enables Flipper.
#
# Note that if you have use_frameworks! enabled, Flipper will not work and
# you should disable these next few lines.
use_flipper!
post_install do |installer|
flipper_post_install(installer)
end
end
target 'myApp-tvOS' do
# Pods for myApp-tvOS
target 'myApp-tvOSTests' do
inherit! :search_paths
# Pods for testing
end
end
# Copyright (c) Facebook, Inc. and its affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
def use_react_native! (options={})
# The prefix to the react-native
prefix = options[:path] ||= "../node_modules/react-native"
# Include Fabric dependencies
fabric_enabled = options[:fabric_enabled] ||= false
# Include DevSupport dependency
production = options[:production] ||= false
# The Pods which should be included in all projects
pod 'FBLazyVector', :path => "#{prefix}/Libraries/FBLazyVector"
pod 'FBReactNativeSpec', :path => "#{prefix}/Libraries/FBReactNativeSpec"
pod 'RCTRequired', :path => "#{prefix}/Libraries/RCTRequired"
pod 'RCTTypeSafety', :path => "#{prefix}/Libraries/TypeSafety"
pod 'React', :path => "#{prefix}/"
pod 'React-Core', :path => "#{prefix}/"
pod 'React-CoreModules', :path => "#{prefix}/React/CoreModules"
pod 'React-RCTActionSheet', :path => "#{prefix}/Libraries/ActionSheetIOS"
pod 'React-RCTAnimation', :path => "#{prefix}/Libraries/NativeAnimation"
pod 'React-RCTBlob', :path => "#{prefix}/Libraries/Blob"
pod 'React-RCTImage', :path => "#{prefix}/Libraries/Image"
pod 'React-RCTLinking', :path => "#{prefix}/Libraries/LinkingIOS"
pod 'React-RCTNetwork', :path => "#{prefix}/Libraries/Network"
pod 'React-RCTSettings', :path => "#{prefix}/Libraries/Settings"
pod 'React-RCTText', :path => "#{prefix}/Libraries/Text"
pod 'React-RCTVibration', :path => "#{prefix}/Libraries/Vibration"
pod 'React-Core/RCTWebSocket', :path => "#{prefix}/"
unless production
pod 'React-Core/DevSupport', :path => "#{prefix}/"
end
pod 'React-cxxreact', :path => "#{prefix}/ReactCommon/cxxreact"
pod 'React-jsi', :path => "#{prefix}/ReactCommon/jsi"
pod 'React-jsiexecutor', :path => "#{prefix}/ReactCommon/jsiexecutor"
pod 'React-jsinspector', :path => "#{prefix}/ReactCommon/jsinspector"
pod 'React-callinvoker', :path => "#{prefix}/ReactCommon/callinvoker"
pod 'ReactCommon/turbomodule/core', :path => "#{prefix}/ReactCommon"
pod 'Yoga', :path => "#{prefix}/ReactCommon/yoga", :modular_headers => true
pod 'DoubleConversion', :podspec => "#{prefix}/third-party-podspecs/DoubleConversion.podspec"
pod 'glog', :podspec => "#{prefix}/third-party-podspecs/glog.podspec"
pod 'Folly', :podspec => "#{prefix}/third-party-podspecs/Folly.podspec"
if fabric_enabled
pod 'React-Fabric', :path => "#{prefix}/ReactCommon"
pod 'React-graphics', :path => "#{prefix}/ReactCommon/fabric/graphics"
pod 'React-jsi/Fabric', :path => "#{prefix}/ReactCommon/jsi"
pod 'React-RCTFabric', :path => "#{prefix}/React"
pod 'Folly/Fabric', :podspec => "#{prefix}/third-party-podspecs/Folly.podspec"
end
end
def use_flipper!(versions = {})
versions['Flipper'] ||= '~> 0.33.1'
versions['DoubleConversion'] ||= '1.1.7'
versions['Flipper-Folly'] ||= '~> 2.1'
versions['Flipper-Glog'] ||= '0.3.6'
versions['Flipper-PeerTalk'] ||= '~> 0.0.4'
versions['Flipper-RSocket'] ||= '~> 1.0'
pod 'FlipperKit', versions['Flipper'], :configuration => 'Debug'
pod 'FlipperKit/FlipperKitLayoutPlugin', versions['Flipper'], :configuration => 'Debug'
pod 'FlipperKit/SKIOSNetworkPlugin', versions['Flipper'], :configuration => 'Debug'
pod 'FlipperKit/FlipperKitUserDefaultsPlugin', versions['Flipper'], :configuration => 'Debug'
pod 'FlipperKit/FlipperKitReactPlugin', versions['Flipper'], :configuration => 'Debug'
# List all transitive dependencies for FlipperKit pods
# to avoid them being linked in Release builds
pod 'Flipper', versions['Flipper'], :configuration => 'Debug'
pod 'Flipper-DoubleConversion', versions['DoubleConversion'], :configuration => 'Debug'
pod 'Flipper-Folly', versions['Flipper-Folly'], :configuration => 'Debug'
pod 'Flipper-Glog', versions['Flipper-Glog'], :configuration => 'Debug'
pod 'Flipper-PeerTalk', versions['Flipper-PeerTalk'], :configuration => 'Debug'
pod 'Flipper-RSocket', versions['Flipper-RSocket'], :configuration => 'Debug'
pod 'FlipperKit/Core', versions['Flipper'], :configuration => 'Debug'
pod 'FlipperKit/CppBridge', versions['Flipper'], :configuration => 'Debug'
pod 'FlipperKit/FBCxxFollyDynamicConvert', versions['Flipper'], :configuration => 'Debug'
pod 'FlipperKit/FBDefines', versions['Flipper'], :configuration => 'Debug'
pod 'FlipperKit/FKPortForwarding', versions['Flipper'], :configuration => 'Debug'
pod 'FlipperKit/FlipperKitHighlightOverlay', versions['Flipper'], :configuration => 'Debug'
pod 'FlipperKit/FlipperKitLayoutTextSearchable', versions['Flipper'], :configuration => 'Debug'
pod 'FlipperKit/FlipperKitNetworkPlugin', versions['Flipper'], :configuration => 'Debug'
end
# Post Install processing for Flipper
def flipper_post_install(installer)
installer.pods_project.targets.each do |target|
if target.name == 'YogaKit'
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '4.1'
end
end
end
end
System:
OS: macOS 10.15.4
CPU: (8) x64 Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz
Memory: 68.55 MB / 16.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 10.13.0 - ~/.nvm/versions/node/v10.13.0/bin/node
Yarn: 1.22.0 - /usr/local/bin/yarn
npm: 6.4.1 - ~/.nvm/versions/node/v10.13.0/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
Managers:
CocoaPods: 1.9.1 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: iOS 13.4, DriverKit 19.0, macOS 10.15, tvOS 13.4, watchOS 6.2
Android SDK:
API Levels: 28, 29
Build Tools: 28.0.3, 29.0.2, 29.0.3
System Images: android-28 | Intel x86 Atom_64, android-28 | Google APIs Intel x86 Atom, android-28 | Google Play Intel x86 Atom, android-29 | Intel x86 Atom_64, android-29 | Google APIs Intel x86 Atom, android-29 | Google Play Intel x86 Atom
Android NDK: Not Found
IDEs:
Android Studio: 3.5 AI-191.8026.42.35.6010548
Xcode: 11.4.1/11E503a - /usr/bin/xcodebuild
Languages:
Java: 1.8.0_242 - /usr/bin/javac
Python: 2.7.16 - /usr/bin/python
npmPackages:
@react-native-community/cli: Not Found
react: 16.13.1 => 16.13.1
react-native: 0.63.0-rc.0 => 0.63.0-rc.0
npmGlobalPackages:
*react-native*: Not Found
@nvdnvd00 have you tried
https://github.com/facebook/flipper/issues/976#issuecomment-612874193
?
yeah, it's working
but i think we need a solution, not workaround
Downgraded from 0.62.2 to 0.61.5 and my build times have decreased 250%.
10 minutes locally down to 4 minutes.
30 minutes on Bitrise down to 12.5 minutes.
@alloy any idea how this can happen? will auto linking the react-native-flipper package cause the Flipper SDK to be included, even though that should be included in DEV builds only? Can we somehow mark react-native-flipper itself as dev only?
auto-link will indeed always activate pods it finds among react-native packages, regardless of configuration. However, it will also _skip_ auto-linking of any pod that was explicitly activated by the user in their Podfile before the use_native_modules! call; so I think something like the following should work:
pod 'react-native-flipper', :path => '../node_modules/react-native-flipper', :configuration => 'Debug'
use_native_modules!
# ...
Can somebody please try and verify?
As for build times, such as those reported by @aelesia, thereās not much to be done there other than caching build artefacts, as thereās no way to tell Xcode to only build dependencies in specific configurationsāwe can only influence what will get linked.
@alloy is linking also skipped if the requires are always conditional and the module is never used in prod builds? (e.g. all calls are wrapped like if (__DEV__) require('react-native-flipper').addPlugin({}))
@mweststrate Alas not, linking of native libraries does not depend on any runtime JS code.
Any update?
@carolinafbarros as far as I can see now, we should add https://github.com/facebook/flipper/issues/976#issuecomment-632697702 to the installation instructions as it looks like auto linking does not support linking libraries only in dev builds.
pinging @rickhanlonii to verify that assumption
@carolinafbarros It would be great if you could verify that my assumption actually works š
@mweststrate @alloy
Thanks, it's works š
Thanks for confirming @carolinafbarros!
This all makes me wonder, shouldn't this be an issue on Android as well?
Thanks for confirming @carolinafbarros! š
@mweststrate Probably good to double-check, but it would probably be best to do so in a new issue and close this one.
I just published [email protected], I'd be really grateful if someone could confirm that this fixes the issue!
The essence of the change is that the entire bindings are put in a #ifdef DEBUG macro, so that on release builds the implementation becomes empty and no dependencies from FlipperKit are loaded
Hello there @mweststrate, I think in your release (0.44.0-fix-976), there is an error inside FlipperModule.m
Line 29:
-(instancetype)init {
}
we should remove this (Use of undeclared identifier 'instancetype' during build)
But if I'm building in release mode, I still have Flipper deps building... Should I remove these lines from my Podfile ? :
use_flipper!
post_install do |installer|
flipper_post_install(installer)
end
@mweststrate Why was there still a need for a fix like that? Is it not preferable to still allow the user to make that final decision? Perhaps this ultimately proves academic when it comes to Flipper, but at some point if somebody would need Flipper in a release build this makes that much harder.
@martinezguillaume See my earlier comment for a bit more details, but note that it only builds those deps, they are not included (by default).
@martinezguillaume thanks for testing! Apologies, I accidentally pushed an older version. 0.44.0-fix-976-2 shouldn't have the additional init mod.
@alloy so far the scope of Flipper has always been: not in release builds. Simply for the security risks (and perf impacts) it causes, so far I haven't got the impression that has caused any significant issues. So I think this solution is fine for now and everything being correct ootb is great I think.
I agree that having things work as expected by default is the way to go, Iām just generally interested to see if that can be provided without making it too hard to deviate. E.g. we could provide a commented line in the Podfile template that explicitly includes the pod only in debug configurations _before_ auto-linking, as both documentation and as a hint to the ability to create flipper plugins.
Anyways, just my 2 cents.
Sorry to bother you guys but the goal here is not build Flipper in Release right ?
Because if weāre building it but not includes it, we still have a long build time (it takes me nearly 1 hour in bitrise to build)
@martinezguillaume This issue is about dependencies being _linked_ to the app in release mode when not expecting that, not about build time. Please file a new issue to discuss that.
@martinezguillaume I assume it is not Flipper itself that takes the one hour to build? For an empty React Native project it takes me 1.5 minutes to build a release with a cleared cache, and it's basically instant on a rebuild. So I don't think all that time is imposed by Flipper? If you have an hour without Flipper already, that doesn't feel like not building those Flipper libs are the biggest win you can make :)
I canāt build without building Flipper for the moment, thatās why Iām searching for a solution. But I can assure you that flipper take a huge building time (example here https://github.com/react-native-community/discussions-and-proposals/issues/226)
My project was updated from 0.61, when It took 30 min to build in bitrise, same project.
@martinezguillaume I think it is best to open a new issue, you are now touching two problems that are not the subject of this issue: 1) Flipper seemingly making your build slow, and 2) not being able to build without Flipper. This issue is about having Flipper code ending up in release artifacts which is a maybe related but a different problem.
The new bindings have been released an available as [email protected], which should drop Flipper from production builds even when react-native-flipper is used.
@mweststrate How do we specify which version of flipper RN 62.2 is using? I'm assuming that we should update the versions in our Podfiles, but should we just select the latest transitive dependencies for Flipper (like Flipper-Folly, etc?)
Also, must we still disable auto link and import the pod per the workaround here
@lfalkner this issue is closed, please open a fresh one with full detail of the podfile, dependencies in package.json etc.
The same Problem here !
RN 0.62.2
Flipper Version : versions['Flipper'] ||= '~> 0.49.0'
Podfile:
``` platform :ios, '9.0'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
def add_flipper_pods!(versions = {})
versions['Flipper'] ||= '> 0.49.0'
versions['DoubleConversion'] ||= '1.1.7'
versions['Flipper-Folly'] ||= '> 2.1'
versions['Flipper-Glog'] ||= '0.3.6'
versions['Flipper-PeerTalk'] ||= '> 0.0.4'
versions['Flipper-RSocket'] ||= '> 1.0'
pod 'FlipperKit', versions['Flipper'], :configuration => 'Debug'
pod 'FlipperKit/FlipperKitLayoutPlugin', versions['Flipper'], :configuration => 'Debug'
pod 'FlipperKit/SKIOSNetworkPlugin', versions['Flipper'], :configuration => 'Debug'
pod 'FlipperKit/FlipperKitUserDefaultsPlugin', versions['Flipper'], :configuration => 'Debug'
pod 'FlipperKit/FlipperKitReactPlugin', versions['Flipper'], :configuration => 'Debug'
List all transitive dependencies for FlipperKit pods
to avoid them being linked in Release builds
pod 'Flipper', versions['Flipper'], :configuration => 'Debug'
pod 'Flipper-DoubleConversion', versions['DoubleConversion'], :configuration => 'Debug'
pod 'Flipper-Folly', versions['Flipper-Folly'], :configuration => 'Debug'
pod 'Flipper-Glog', versions['Flipper-Glog'], :configuration => 'Debug'
pod 'Flipper-PeerTalk', versions['Flipper-PeerTalk'], :configuration => 'Debug'
pod 'Flipper-RSocket', versions['Flipper-RSocket'], :configuration => 'Debug'
pod 'FlipperKit/Core', versions['Flipper'], :configuration => 'Debug'
pod 'FlipperKit/CppBridge', versions['Flipper'], :configuration => 'Debug'
pod 'FlipperKit/FBCxxFollyDynamicConvert', versions['Flipper'], :configuration => 'Debug'
pod 'FlipperKit/FBDefines', versions['Flipper'], :configuration => 'Debug'
pod 'FlipperKit/FKPortForwarding', versions['Flipper'], :configuration => 'Debug'
pod 'FlipperKit/FlipperKitHighlightOverlay', versions['Flipper'], :configuration => 'Debug'
pod 'FlipperKit/FlipperKitLayoutTextSearchable', versions['Flipper'], :configuration => 'Debug'
pod 'FlipperKit/FlipperKitNetworkPlugin', versions['Flipper'], :configuration => 'Debug'
end
Post Install processing for Flipper
def flipper_post_install(installer)
installer.pods_project.targets.each do |target|
if target.name == 'YogaKit'
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '4.1'
end
end
end
end
def shared_pods
Pods
pod 'FBLazyVector', :path => "../node_modules/react-native/Libraries/FBLazyVector"
pod 'FBReactNativeSpec', :path => "../node_modules/react-native/Libraries/FBReactNativeSpec"
pod 'RCTRequired', :path => "../node_modules/react-native/Libraries/RCTRequired"
pod 'RCTTypeSafety', :path => "../node_modules/react-native/Libraries/TypeSafety"
pod 'React', :path => '../node_modules/react-native/'
pod 'React-Core', :path => '../node_modules/react-native/'
pod 'React-CoreModules', :path => '../node_modules/react-native/React/CoreModules'
pod 'React-Core/DevSupport', :path => '../node_modules/react-native/'
pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS'
pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation'
pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob'
pod 'React-RCTImage', :path => '../node_modules/react-native/Libraries/Image'
pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS'
pod 'React-RCTNetwork', :path => '../node_modules/react-native/Libraries/Network'
pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings'
pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text'
pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration'
pod 'React-Core/RCTWebSocket', :path => '../node_modules/react-native/'
pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact'
pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi'
pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor'
pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector'
pod 'ReactCommon/callinvoker', :path => "../node_modules/react-native/ReactCommon"
pod 'ReactCommon/turbomodule/core', :path => "../node_modules/react-native/ReactCommon"
pod 'Yoga', :path => '../node_modules/react-native/ReactCommon/yoga', :modular_headers => true
pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'
pod 'react-native-config', :path => '../node_modules/react-native-config'
pod 'react-native-flipper', :path => '../node_modules/react-native-flipper', :configuration => 'Debug'
end
def flipper_pods
add_flipper_pods!
post_install do |installer|
flipper_post_install(installer)
end
end
----- Tagets ----
abstract_target 'TargetAbstract' do
shared_pods
use_native_modules!
flipper_pods
target 'Target' do
end
target 'Target' do
end
target 'TargetTests' do
inherit! :complete
end
end
The original issue here has been fixed; flipper itself ending up in release builds. As stated in a few issues now, flipper will be part of the build but not linked when building a release, so it won't end up in the product. If you don't want Flipper _at all_, it is straightforward to disable it as described here. But unless someone knows a way to make the build infra smarter, there isn't much we can do beyond that and make it build only in dev builds. So there is no point in adding more reports that builds are slow, as that is not something we can influence at this point. Obviously, if anybody has ideas how to make this smarter within the iOS eco system, without introducing other risks, PRs are welcome.
Most helpful comment
@mweststrate After upgrade to
react-native v. 0.62.2andreact-native-flipper v. 0.37the issue still presents ;(As a workaround I had to disable auto-link for
react-native-flipperfor iOS. And manually add pods installation forreact-native-flipperwithDebugconfigutationreact-native-config.js
pods
I hope it helps.