mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
iOS: only exclude i386 while using hermes (#38132)
Summary: - if an existing iOS project specifies `EXCLUDED_ARCHS`, these settings are overwritten by the `react_native_post_install` step as part of the Cocoapods install - closes https://github.com/facebook/react-native/issues/35544 ### Existing Behaviour - one of the functions called as part of the `react_native_post_install` step is `exclude_i386_architecture_while_using_hermes` - see [/packages/react-native/scripts/cocoapods/utils.rb](https://github.com/facebook/react-native/blob/v0.72.1/packages/react-native/scripts/cocoapods/utils.rb#L56-L69) ``` def self.exclude_i386_architecture_while_using_hermes(installer) projects = self.extract_projects(installer) # Hermes does not support `i386` architecture excluded_archs_default = self.has_pod(installer, 'hermes-engine') ? "i386" : "" projects.each do |project| project.build_configurations.each do |config| config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = excluded_archs_default end project.save() end end ``` 🐛 **However** 🐛 - this function is currently called regardless of whether or not you are **actually** using Hermes - this means existing projects that have `EXCLUDED_ARCHS` set, the existing value will be changed either to `"i386"` or a blank string ### Changed Behaviour - moved the function call inside an `if ReactNativePodsUtils.has_pod(installer, "React-hermes")` block - `EXCLUDED_ARCHS` should only be modified if needed now ## Changelog: <!-- Help reviewers and the release process by writing your own changelog entry. Pick one each for the category and type tags: [ANDROID|GENERAL|IOS|INTERNAL] [BREAKING|ADDED|CHANGED|DEPRECATED|REMOVED|FIXED|SECURITY] - Message For more details, see: https://reactnative.dev/contributing/changelogs-in-pull-requests --> [IOS] [FIXED] Only modify EXCLUDED_ARCHS when needed for Hermes Pull Request resolved: https://github.com/facebook/react-native/pull/38132 Reviewed By: cortinico Differential Revision: D47149618 Pulled By: cipolleschi fbshipit-source-id: cffc2a0d4bc35fa4e933d3f4df6ee85e2f5c4486
This commit is contained in:
@@ -238,9 +238,9 @@ def react_native_post_install(
|
||||
|
||||
if ReactNativePodsUtils.has_pod(installer, "React-hermes")
|
||||
ReactNativePodsUtils.set_gcc_preprocessor_definition_for_React_hermes(installer)
|
||||
ReactNativePodsUtils.exclude_i386_architecture_while_using_hermes(installer)
|
||||
end
|
||||
|
||||
ReactNativePodsUtils.exclude_i386_architecture_while_using_hermes(installer)
|
||||
ReactNativePodsUtils.fix_library_search_paths(installer)
|
||||
ReactNativePodsUtils.update_search_paths(installer)
|
||||
ReactNativePodsUtils.set_node_modules_user_settings(installer, react_native_path)
|
||||
|
||||
Reference in New Issue
Block a user