From c9416dacaf5d40abb354d322d6a655b7b87de403 Mon Sep 17 00:00:00 2001 From: Mike Grabowski Date: Tue, 15 Dec 2020 12:55:22 +0100 Subject: [PATCH 1/3] exclude i386 from architectures --- scripts/react_native_pods.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/react_native_pods.rb b/scripts/react_native_pods.rb index 27b8defbb4a151..472a750c4d89a1 100644 --- a/scripts/react_native_pods.rb +++ b/scripts/react_native_pods.rb @@ -62,8 +62,8 @@ def use_react_native! (options={}) end if hermes_enabled - pod 'React-hermes', :path => "#{prefix}/ReactCommon/hermes" - pod 'hermes-engine' + pod 'React-Core/Hermes', :path => "#{prefix}/" + pod 'hermes-engine', '~> 0.7.2' pod 'libevent', :podspec => "#{prefix}/third-party-podspecs/libevent.podspec" end end @@ -120,9 +120,9 @@ def react_native_post_install(installer) projects.each do |project| project.build_configurations.each do |config| if arm_value == 1 then - config.build_settings.delete("EXCLUDED_ARCHS[sdk=iphonesimulator*]") + config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "i386" else - config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64" + config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64 i386" end end From ea664b1aedc9f2124e08daf0c5ea19ca52ab6efa Mon Sep 17 00:00:00 2001 From: Mike Grabowski Date: Tue, 15 Dec 2020 12:56:57 +0100 Subject: [PATCH 2/3] remove extra changes --- scripts/react_native_pods.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/react_native_pods.rb b/scripts/react_native_pods.rb index 472a750c4d89a1..f6cfd64d476d78 100644 --- a/scripts/react_native_pods.rb +++ b/scripts/react_native_pods.rb @@ -62,8 +62,8 @@ def use_react_native! (options={}) end if hermes_enabled - pod 'React-Core/Hermes', :path => "#{prefix}/" - pod 'hermes-engine', '~> 0.7.2' + pod 'React-hermes', :path => "#{prefix}/ReactCommon/hermes" + pod 'hermes-engine' pod 'libevent', :podspec => "#{prefix}/third-party-podspecs/libevent.podspec" end end From 5954bf8a6c25b84493ca39ccd919c171c34e528e Mon Sep 17 00:00:00 2001 From: Mike Grabowski Date: Tue, 15 Dec 2020 13:49:55 +0100 Subject: [PATCH 3/3] chore: tweaks --- scripts/react_native_pods.rb | 21 ++++++++++++++++++--- template/ios/Podfile | 5 ----- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/scripts/react_native_pods.rb b/scripts/react_native_pods.rb index f6cfd64d476d78..b07641ffb6093d 100644 --- a/scripts/react_native_pods.rb +++ b/scripts/react_native_pods.rb @@ -98,6 +98,10 @@ def use_flipper!(versions = {}, configurations: ['Debug']) pod 'FlipperKit/FlipperKitNetworkPlugin', versions['Flipper'], :configurations => configurations end +def has_pod(installer, name) + installer.pods_project.pod_group(name) != nil +end + # Post Install processing for Flipper def flipper_post_install(installer) installer.pods_project.targets.each do |target| @@ -109,7 +113,7 @@ def flipper_post_install(installer) end end -def react_native_post_install(installer) +def exclude_architectures(installer) projects = installer.aggregate_targets .map{ |t| t.user_project } .uniq{ |p| p.path } @@ -117,15 +121,26 @@ def react_native_post_install(installer) arm_value = `/usr/sbin/sysctl -n hw.optional.arm64 2>&1`.to_i + # Hermes does not support `i386` architecture + excluded_archs_default = has_pod(installer, 'hermes-engine') ? "i386" : "" + projects.each do |project| project.build_configurations.each do |config| if arm_value == 1 then - config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "i386" + config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = excluded_archs_default else - config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64 i386" + config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64 " + excluded_archs_default end end project.save() end end + +def react_native_post_install(installer) + if has_pod(installer, 'Flipper') + flipper_post_install(installer) + end + + exclude_architectures(installer) +end diff --git a/template/ios/Podfile b/template/ios/Podfile index 83f678deecd3f7..18369a7e68920c 100644 --- a/template/ios/Podfile +++ b/template/ios/Podfile @@ -25,10 +25,5 @@ target 'HelloWorld' do post_install do |installer| react_native_post_install(installer) - - # Enables Flipper. - # - # Disable the next line if you are not using Flipper. - flipper_post_install(installer) end end \ No newline at end of file