Skip to content

Commit

Permalink
[RN][iOS][0.72] Fix flipper for Xcode 15.3
Browse files Browse the repository at this point in the history
  • Loading branch information
cipolleschi committed Mar 6, 2024
1 parent 0724c27 commit f5f11e7
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 1 deletion.
38 changes: 37 additions & 1 deletion packages/react-native/scripts/cocoapods/utils.rb
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,43 @@ def self.exclude_i386_architecture_while_using_hermes(installer)
# Hermes does not support `i386` architecture
config.build_settings[key] = "#{current_setting} i386".strip
end
end
end

project.save()
end
end
end

def self.fix_flipper_for_xcode_15_3(installer)

installer.pods_project.targets.each do |target|
if target.name == 'Flipper'
file_path = 'Pods/Flipper/xplat/Flipper/FlipperTransportTypes.h'
if !File.exist(file_path)
return
end

contents = File.read(file_path)
if contents.include?('#include <functional>')
return
end
mod_content = contents.gsub("#pragma once", "#pragma once\n#include <functional>")
File.chmod(0755, file_path)
File.open(file_path, 'w') do |file|
file.puts(mod_content)
end
end
end
end

def self.set_use_hermes_build_setting(installer, hermes_enabled)
Pod::UI.puts("Setting USE_HERMES build settings")
projects = self.extract_projects(installer)

projects.each do |project|
project.build_configurations.each do |config|
config.build_settings["USE_HERMES"] = hermes_enabled
end

project.save()
end
Expand Down
2 changes: 2 additions & 0 deletions packages/react-native/scripts/react_native_pods.rb
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,8 @@ def react_native_post_install(
ReactNativePodsUtils.apply_flags_for_fabric(installer, fabric_enabled: fabric_enabled)
ReactNativePodsUtils.apply_xcode_15_patch(installer)
ReactNativePodsUtils.updateIphoneOSDeploymentTarget(installer)
ReactNativePodsUtils.updateOSDeploymentTarget(installer)
ReactNativePodsUtils.fix_flipper_for_xcode_15_3(installer)

NewArchitectureHelper.set_clang_cxx_language_standard_if_needed(installer)
is_new_arch_enabled = ENV['RCT_NEW_ARCH_ENABLED'] == "1"
Expand Down

0 comments on commit f5f11e7

Please sign in to comment.