Files
react-native/packages/rn-tester/Podfile
T
Janic Duplessis 7f16ff8a05 Fix use_framework RNTester crash (#30520)
Summary:
When building RN Tester with use_frameworks it crashes on launch because of duplicate folly singletons. Seems that it is included twice because of Flipper. From what I understand flipper is not really compatible with use_frameworks so this removes it from that build variant. We also remove hardcoded SONARKIT defines in the xcodeproject, those will be added by the Flipper podspec anyway so it is not needed.

This then exposed a missing double conversion header error in Folly so this fixes the DoubleConversion podspec to add its headers path to the user project.

## Changelog

[Internal] [Fixed] - Fix use_framework RNTester crash

Pull Request resolved: https://github.com/facebook/react-native/pull/30520

Test Plan: Tested RN tester with use frameworks on and off. Also made sure flipper works still when frameworks is false.

Reviewed By: fkgozali

Differential Revision: D25307973

Pulled By: hramos

fbshipit-source-id: 17b90e871734e32f5982c4fc9c07aeea232f868f
2020-12-03 16:01:47 -08:00

56 lines
1.3 KiB
Ruby

require_relative '../../scripts/react_native_pods'
source 'https://cdn.cocoapods.org/'
platform :ios, '10.0'
USE_FRAMEWORKS = ENV['USE_FRAMEWORKS'] == '1'
if USE_FRAMEWORKS
puts "Installing pods with use_frameworks!"
use_frameworks!
end
if ENV['USE_HERMES'] == '1'
puts "Using Hermes engine"
end
def pods()
project 'RNTesterPods.xcodeproj'
# Enable TurboModule
prefix_path = "../.."
use_react_native!(path: prefix_path, hermes_enabled: ENV['USE_HERMES'] == '1')
pod 'ReactCommon/turbomodule/samples', :path => "#{prefix_path}/ReactCommon"
# Additional Pods which aren't included in the default Podfile
pod 'React-RCTPushNotification', :path => "#{prefix_path}/Libraries/PushNotificationIOS"
pod 'Yoga', :path => "#{prefix_path}/ReactCommon/yoga", :modular_headers => true
# Additional Pods which are classed as unstable
#
# To use fabric: add `fabric_enabled` option to the use_react_native method above, like below
# use_react_native!(path: "..", fabric_enabled: true)
end
target 'RNTester' do
pods()
if !USE_FRAMEWORKS
use_flipper!
end
end
target 'RNTesterUnitTests' do
pods()
pod 'React-RCTTest', :path => "./RCTTest"
end
target 'RNTesterIntegrationTests' do
pods()
pod 'React-RCTTest', :path => "./RCTTest"
end
post_install do |installer|
if !USE_FRAMEWORKS
flipper_post_install(installer)
end
end