mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
ccd1708096
Summary: This re-applies Consider relative to pwd installation root when looking for files in rn module via cocoapods by danilobuerger The `:reactNativePath` provided by `use_native_modules!` is the rn module path relative to the installation root (usually `./ios`). However, when executing cocoapods from a dir thats not the installation root, packages that use the relative `:reactNativePath` variable in their path must also consider the relative to pwd installation root. This fixes usage of cocoapods with the `--project-directory` flag like ```bash bundle exec pod install --project-directory=ios ``` ## Changelog [iOS] [Fixed] - Fix usage of cocoapods with --project-directory flag and new arch Pull Request resolved: https://github.com/facebook/react-native/pull/33427 Test Plan: 1) Enable the new arch 2) Execute from the projects root dir ```bash bundle exec pod install --project-directory=ios ``` 3) It will fail with ``` [!] Invalid `Podfile` file: [codegen] Couldn't not find react-native-codegen.. ``` 4) Apply the patch 5) Execute from the projects root dir ```bash bundle exec pod install --project-directory=ios ``` 6) It will succeed Reviewed By: cortinico Differential Revision: D34890926 Pulled By: dmitryrykun fbshipit-source-id: f7adc6196874822d5ff38f275414f529d385f2ea
38 lines
1.1 KiB
Ruby
38 lines
1.1 KiB
Ruby
require_relative '../node_modules/react-native/scripts/react_native_pods'
|
|
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
|
|
|
|
platform :ios, '11.0'
|
|
install! 'cocoapods', :deterministic_uuids => false
|
|
|
|
target 'HelloWorld' do
|
|
config = use_native_modules!
|
|
|
|
# Flags change depending on the env values.
|
|
flags = get_default_flags()
|
|
|
|
use_react_native!(
|
|
:path => config[:reactNativePath],
|
|
# to enable hermes on iOS, change `false` to `true` and then install pods
|
|
:hermes_enabled => flags[:hermes_enabled],
|
|
:fabric_enabled => flags[:fabric_enabled],
|
|
# An absolute path to your application root.
|
|
:app_path => "#{Pod::Config.instance.installation_root}/.."
|
|
)
|
|
|
|
target 'HelloWorldTests' 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 the next line.
|
|
use_flipper!()
|
|
|
|
post_install do |installer|
|
|
react_native_post_install(installer)
|
|
__apply_Xcode_12_5_M1_post_install_workaround(installer)
|
|
end
|
|
end
|