1require_relative './podfile_helpers.rb' 2require_relative '../packages/@unimodules/react-native-adapter/scripts/autolinking' 3require_relative '../react-native-lab/react-native/scripts/react_native_pods' 4 5install! 'cocoapods', 6 :generate_multiple_pod_projects => true, 7 :incremental_installation => true 8platform :ios, '11.0' 9inhibit_all_warnings! 10 11abstract_target 'Expo Go' do 12 # Expo Client dependencies 13 pod 'Amplitude' 14 pod 'CocoaLumberjack', '~> 3.5.3' 15 pod 'GoogleMaps', '~> 3.6' 16 pod 'Google-Maps-iOS-Utils', '~> 2.1.0' 17 pod 'JKBigInteger2', '0.0.5' 18 19 # Expo modules 20 use_expo_modules!({ 21 exclude: [ 22 'expo-module-template', 23 'expo-in-app-purchases', 24 'expo-payments-stripe' 25 ], 26 # Modules for which to include Tests subspec 27 tests: [ 28 'expo-updates', 29 'expo-structured-headers', 30 ], 31 flags: { 32 :inhibit_warnings => false 33 } 34 }) 35 36 # Expo modules that are not unimodules 37 pod 'EXRandom', path: '../packages/expo-random/ios' 38 39 # Install vendored pods. 40 use_pods! 'vendored/unversioned/**/*.podspec.json' 41 42 # Unversioned React Native 43 use_react_native! path: '../react-native-lab/react-native' 44 45 # Build React Native with RCT_DEV enabled and RCT_ENABLE_INSPECTOR and 46 # RCT_ENABLE_PACKAGER_CONNECTION disabled 47 post_install do |installer| 48 # Disabled as of CocoaPods 1.8.0.beta1 since pods_project seems to be nil 49 # installer.pods_project.main_group.tab_width = '2'; 50 # installer.pods_project.main_group.indent_width = '2'; 51 52 installer.target_installation_results.pod_target_installation_results 53 .each do |pod_name, target_installation_result| 54 55 # Run postinstalls actions for versioned dependencies. 56 # These actions are specified in `versioned-react-native/ABI*/postinstalls.rb` files. 57 run_versioned_postinstalls!(pod_name, target_installation_result) 58 59 target_installation_result.native_target.build_configurations.each do |config| 60 config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0' 61 end 62 63 if pod_name == 'Branch' 64 target_installation_result.native_target.build_configurations.each do |config| 65 config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)'] 66 config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << 'BRANCH_EXCLUDE_IDFA_CODE=1' 67 end 68 end 69 70 # Build React Native with RCT_DEV enabled and RCT_ENABLE_INSPECTOR and 71 # RCT_ENABLE_PACKAGER_CONNECTION disabled 72 next unless pod_name.start_with?('React') 73 target_installation_result.native_target.build_configurations.each do |config| 74 config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)'] 75 config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << 'RCT_DEV=1' 76 config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << 'RCT_ENABLE_INSPECTOR=0' 77 config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << 'ENABLE_PACKAGER_CONNECTION=0' 78 end 79 end 80 end 81 82 # Target for development, contains only unversioned code 83 target 'Expo Go (unversioned)' do 84 end 85 86 # Release target additionally includes versioned SDKs 87 target 'Expo Go (versioned)' do 88 # Evaluate all files matching `versioned-react-native/ABI*/dependencies.rb` glob pattern 89 # and install ReactABIXX_0_0 pods with all versioned unimodules. 90 use_versioned_abis! 91 end 92 93 # Test targets 94 target 'ExponentIntegrationTests' do 95 inherit! :search_paths 96 end 97 98 target 'Tests' do 99 inherit! :search_paths 100 end 101end 102