1require File.join(File.dirname(`node --print "require.resolve('expo/package.json')"`), "scripts/autolinking") 2require File.join(File.dirname(`node --print "require.resolve('react-native/package.json')"`), "scripts/react_native_pods") 3require File.join(File.dirname(`node --print "require.resolve('@react-native-community/cli-platform-ios/package.json')"`), "native_modules") 4 5require 'json' 6podfile_properties = JSON.parse(File.read('./Podfile.properties.json')) rescue {} 7 8platform :ios, podfile_properties['ios.deploymentTarget'] || '12.4' 9install! 'cocoapods', 10 :deterministic_uuids => false 11 12target 'NativeTests' do 13 # add this manually, because it has UITests too 14 pod 'expo-dev-menu', path: '../../../packages/expo-dev-menu', :testspecs => ['Tests', 'UITests'] 15 16 use_expo_modules_tests! 17 18 pod 'ExpoModulesTestCore', :path => "../../../packages/expo-modules-test-core/ios" 19 pod 'Nimble', :podspec => './../../../ios/Nimble.podspec' 20 21 config = use_native_modules! 22 23 use_frameworks! :linkage => podfile_properties['ios.useFrameworks'].to_sym if podfile_properties['ios.useFrameworks'] 24 25 # Flags change depending on the env values. 26 flags = get_default_flags() 27 28 use_react_native!( 29 :path => config[:reactNativePath], 30 :hermes_enabled => flags[:hermes_enabled] || podfile_properties['expo.jsEngine'] == 'hermes', 31 :fabric_enabled => flags[:fabric_enabled], 32 # An absolute path to your application root. 33 :app_path => "#{Dir.pwd}/.." 34 ) 35 36 post_install do |installer| 37 react_native_post_install(installer) 38 __apply_Xcode_12_5_M1_post_install_workaround(installer) 39 end 40 41 post_integrate do |installer| 42 begin 43 expo_patch_react_imports!(installer) 44 rescue => e 45 Pod::UI.warn e 46 end 47 end 48 49end 50