| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- require File.join(File.dirname(`node --print "require.resolve('expo/package.json')"`), "scripts/autolinking")
- # Resolve react_native_pods.rb with node to allow for hoisting
- require Pod::Executable.execute_command('node', ['-p',
- 'require.resolve(
- "react-native/scripts/react_native_pods.rb",
- {paths: [process.argv[1]]},
- )', __dir__]).strip
- platform :ios, '13.4'
- prepare_react_native_project!
- # If you are using a `react-native-flipper` your iOS build will fail when `NO_FLIPPER=1` is set.
- # because `react-native-flipper` depends on (FlipperKit,...) that will be excluded
- #
- # To fix this you can also exclude `react-native-flipper` using a `react-native.config.js`
- # ```js
- # module.exports = {
- # dependencies: {
- # ...(process.env.NO_FLIPPER ? { 'react-native-flipper': { platforms: { ios: null } } } : {}),
- # ```
- flipper_config = ENV['NO_FLIPPER'] == "1" ? FlipperConfiguration.disabled : FlipperConfiguration.enabled
- linkage = ENV['USE_FRAMEWORKS']
- if linkage != nil
- Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green
- use_frameworks! :linkage => linkage.to_sym
- end
- production = ENV["PRODUCTION"] == "1"
- target 'taroDemo' do
- use_expo_modules!
- post_integrate do |installer|
- begin
- expo_patch_react_imports!(installer)
- rescue => e
- Pod::UI.warn e
- end
- begin
- expo_patch_react_imports!(installer)
- rescue => e
- Pod::UI.warn e
- end
- end
- config = use_native_modules!
- use_react_native!(
- :path => config[:reactNativePath],
- # Enables Flipper.
- #
- # Note that if you have use_frameworks! enabled, Flipper will not work and
- # you should disable the next line.
- :flipper_configuration => flipper_config,
- # An absolute path to your application root.
- :app_path => "#{Pod::Config.instance.installation_root}/.."
- )
- target 'taroDemoTests' do
- inherit! :complete
- # Pods for testing
- end
- post_install do |installer|
- # !!! attention: for react native debug at release build only. remove next lines for your own application.
- find_and_replace("../node_modules/react-native/React/CoreModules/RCTDevLoadingView.mm","[self showOfflineMessage];","")
- find_and_replace("../node_modules/react-native/React/Base/RCTDefines.h","#define RCT_DEV 0", "#define RCT_DEV 1")
- find_and_replace("../node_modules/react-native/React/Base/RCTKeyCommands.m", "#if RCT_DEV", "#if DEBUG")
- # !!! end
- # https://github.com/facebook/react-native/blob/main/packages/react-native/scripts/react_native_pods.rb#L197-L202
- react_native_post_install(
- installer,
- config[:reactNativePath],
- :mac_catalyst_enabled => false
- )
- # Add these lines for Xcode 14 builds
- installer.generated_projects.each do |project|
- project.targets.each do |target|
- target.build_configurations.each do |config|
- config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO'
- end
- end
- end
- end
- end
- def find_and_replace(dir, findstr, replacestr)
- Dir[dir].each do |name|
- text = File.read(name)
- replace = text.gsub(findstr,replacestr)
- if text != replace
- puts "Fix: " + name
- File.open(name, "w") { |file| file.puts replace }
- STDOUT.flush
- end
- end
- Dir[dir + '*/'].each(&method(:find_and_replace))
- end
|