89 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			89 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | require File.join(File.dirname(`node --print "require.resolve('expo/package.json')"`), "scripts/autolinking") | ||
|  | require File.join(File.dirname(`node --print "require.resolve('react-native/package.json')"`), "scripts/react_native_pods") | ||
|  | 
 | ||
|  | require 'json' | ||
|  | podfile_properties = JSON.parse(File.read(File.join(__dir__, 'Podfile.properties.json'))) rescue {} | ||
|  | 
 | ||
|  | ENV['RCT_NEW_ARCH_ENABLED'] = podfile_properties['newArchEnabled'] == 'true' ? '1' : '0' | ||
|  | ENV['EX_DEV_CLIENT_NETWORK_INSPECTOR'] = podfile_properties['EX_DEV_CLIENT_NETWORK_INSPECTOR'] | ||
|  | 
 | ||
|  | use_autolinking_method_symbol = ('use' + '_native' + '_modules!').to_sym | ||
|  | origin_autolinking_method = self.method(use_autolinking_method_symbol) | ||
|  | self.define_singleton_method(use_autolinking_method_symbol) do |*args| | ||
|  |   if ENV['EXPO_UNSTABLE_CORE_AUTOLINKING'] == '1' | ||
|  |     Pod::UI.puts('Using expo-modules-autolinking as core autolinking source'.green) | ||
|  |     config_command = [ | ||
|  |       'node', | ||
|  |       '--no-warnings', | ||
|  |       '--eval', | ||
|  |       'require(require.resolve(\'expo-modules-autolinking\', { paths: [require.resolve(\'expo/package.json\')] }))(process.argv.slice(1))', | ||
|  |       'react-native-config', | ||
|  |       '--json', | ||
|  |       '--platform', | ||
|  |       'ios' | ||
|  |     ] | ||
|  |     origin_autolinking_method.call(config_command) | ||
|  |   else | ||
|  |     origin_autolinking_method.call() | ||
|  |   end | ||
|  | end | ||
|  | 
 | ||
|  | platform :ios, podfile_properties['ios.deploymentTarget'] || '13.4' | ||
|  | install! 'cocoapods', | ||
|  |   :deterministic_uuids => false | ||
|  | 
 | ||
|  | prepare_react_native_project! | ||
|  | 
 | ||
|  | target 'ExpoExample' do | ||
|  |   use_expo_modules! | ||
|  |   config = use_native_modules! | ||
|  | 
 | ||
|  |   use_frameworks! :linkage => podfile_properties['ios.useFrameworks'].to_sym if podfile_properties['ios.useFrameworks'] | ||
|  |   use_frameworks! :linkage => ENV['USE_FRAMEWORKS'].to_sym if ENV['USE_FRAMEWORKS'] | ||
|  | 
 | ||
|  |   use_react_native!( | ||
|  |     :path => config[:reactNativePath], | ||
|  |     :hermes_enabled => podfile_properties['expo.jsEngine'] == nil || podfile_properties['expo.jsEngine'] == 'hermes', | ||
|  |     # An absolute path to your application root. | ||
|  |     :app_path => "#{Pod::Config.instance.installation_root}/..", | ||
|  |     :privacy_file_aggregation_enabled => podfile_properties['apple.privacyManifestAggregationEnabled'] != 'false', | ||
|  |   ) | ||
|  | 
 | ||
|  |   # Manually links local version of react-native-video  | ||
|  |   pod 'react-native-video', path: '../../..' | ||
|  |   pod 'react-native-video-plugin-sample', path: '../../react-native-video-plugin-sample' | ||
|  | 
 | ||
|  |   # Chache dependencies need to have modular headers | ||
|  |   if defined?($RNVideoUseVideoCaching) | ||
|  |     use_modular_headers! | ||
|  |   end | ||
|  | 
 | ||
|  |   post_install do |installer| | ||
|  |     react_native_post_install( | ||
|  |       installer, | ||
|  |       config[:reactNativePath], | ||
|  |       :mac_catalyst_enabled => false, | ||
|  |       :ccache_enabled => podfile_properties['apple.ccacheEnabled'] == 'true', | ||
|  |     ) | ||
|  | 
 | ||
|  |     # This is necessary for Xcode 14, because it signs resource bundles by default | ||
|  |     # when building for devices. | ||
|  |     installer.target_installation_results.pod_target_installation_results | ||
|  |       .each do |pod_name, target_installation_result| | ||
|  |       target_installation_result.resource_bundle_targets.each do |resource_bundle_target| | ||
|  |         resource_bundle_target.build_configurations.each do |config| | ||
|  |           config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO' | ||
|  |         end | ||
|  |       end | ||
|  |     end | ||
|  |   end | ||
|  | 
 | ||
|  |   post_integrate do |installer| | ||
|  |     begin | ||
|  |       expo_patch_react_imports!(installer) | ||
|  |     rescue => e | ||
|  |       Pod::UI.warn e | ||
|  |     end | ||
|  |   end | ||
|  | end |