12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- 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 File.join(File.dirname(`node --print "require.resolve('@react-native-community/cli-platform-ios/package.json')"`), "native_modules")
- platform :ios, '13.0'
- require 'json'
- podfile_properties = JSON.parse(File.read('./Podfile.properties.json')) rescue {}
- target 'cnpmobile' do
- use_frameworks!
- # Convert all permission pods into static libraries
- pod 'react-native-config', :path => '../node_modules/react-native-config'
- pre_install do |installer|
- Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_static_framework_transitive_dependencies) {}
- installer.pod_targets.each do |pod|
- if pod.name.eql?('RNPermissions') || pod.name.start_with?('Permission-')
- def pod.build_type;
- # Uncomment the line corresponding to your CocoaPods version
- Pod::BuildType.static_library # >= 1.9
- # Pod::Target::BuildType.static_library # < 1.9
- end
- end
- end
- end
- use_expo_modules!
- config = use_native_modules!
- use_react_native!(
- :path => config[:reactNativePath],
- :hermes_enabled => podfile_properties['expo.jsEngine'] == 'hermes'
- )
- # Uncomment to opt-in to using Flipper
- #
- # if !ENV['CI']
- # use_flipper!('Flipper' => '0.75.1', 'Flipper-Folly' => '2.5.3', 'Flipper-RSocket' => '1.3.1')
- # end
- post_install do |installer|
- react_native_post_install(installer)
- # Workaround `Cycle inside FBReactNativeSpec` error for react-native 0.64
- # Reference: https://github.com/software-mansion/react-native-screens/issues/842#issuecomment-812543933
- installer.pods_project.targets.each do |target|
- if (target.name&.eql?('FBReactNativeSpec'))
- target.build_phases.each do |build_phase|
- if (build_phase.respond_to?(:name) && build_phase.name.eql?('[CP-User] Generate Specs'))
- target.build_phases.move(build_phase, 0)
- end
- end
- end
- end
- end
- permissions_path = '../node_modules/react-native-permissions/ios'
- pod 'Permission-Camera', :path => "#{permissions_path}/Camera"
- pod 'Permission-LocationAccuracy', :path => "#{permissions_path}/LocationAccuracy"
- pod 'Permission-LocationAlways', :path => "#{permissions_path}/LocationAlways"
- pod 'Permission-LocationWhenInUse', :path => "#{permissions_path}/LocationWhenInUse"
- pod 'Permission-PhotoLibrary', :path => "#{permissions_path}/PhotoLibrary"
- pod 'Permission-Microphone', :path => "#{permissions_path}/Microphone"
- pod 'Permission-SpeechRecognition', :path => "#{permissions_path}/SpeechRecognition"
- pod 'Permission-Notifications', :path => "#{permissions_path}/Notifications"
- end
|