123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- # Uncomment this line to define a global platform for your project
- platform :ios, '14.0'
- # CocoaPods analytics sends network stats synchronously affecting flutter build latency.
- ENV['COCOAPODS_DISABLE_STATS'] = 'true'
- project 'Runner', {
- 'Debug' => :debug,
- 'Profile' => :release,
- 'Release' => :release,
- }
-
-
- def flutter_root
- generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
- unless File.exist?(generated_xcode_build_settings_path)
- raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
- end
- File.foreach(generated_xcode_build_settings_path) do |line|
- matches = line.match(/FLUTTER_ROOT\=(.*)/)
- return matches[1].strip if matches
- end
- raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
- end
- require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
- flutter_ios_podfile_setup
- target 'Runner' do
- use_frameworks!
- use_modular_headers!
- flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
-
- end
- post_integrate do |installer|
- main_project = installer.aggregate_targets[0].user_project
- pods_project = installer.pods_project
- targets = main_project.targets + pods_project.targets
- targets.each do |target|
- run_script_build_phases = target.build_phases.filter { |phase| phase.is_a?(Xcodeproj::Project::Object::PBXShellScriptBuildPhase) }
- cocoapods_run_script_build_phases = run_script_build_phases.filter { |phase| phase.name.start_with?("[CP]") }
- cocoapods_run_script_build_phases.each do |run_script|
- next unless (run_script.input_paths || []).empty? && (run_script.output_paths || []).empty?
- run_script.always_out_of_date = "1"
- end
- end
- main_project.save
- pods_project.save
- end
-
- post_install do |installer|
- installer.pods_project.targets.each do |target|
- # if target.name == "geolocator_apple"
- # target.build_configurations.each do |config|
- # config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', 'BYPASS_PERMISSION_LOCATION_ALWAYS=1']
- # end
- # end
- flutter_additional_ios_build_settings(target)
- target.build_configurations.each do |config|
- config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '14.0'
- # You can remove unused permissions here
- # for more infomation: https://github.com/BaseflowIT/flutter-permission-handler/blob/develop/permission_handler/ios/Classes/PermissionHandlerEnums.h
- # e.g. when you don't need camera permission, just add 'PERMISSION_CAMERA=0'
- config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
- '$(inherited)',
- ## dart: PermissionGroup.calendar
- 'PERMISSION_EVENTS=0',
- ## dart: PermissionGroup.reminders
- 'PERMISSION_REMINDERS=0',
- ## dart: PermissionGroup.contacts
- 'PERMISSION_CONTACTS=0',
- ## dart: PermissionGroup.camera
- 'PERMISSION_CAMERA=1',
- ## dart: PermissionGroup.microphone
- 'PERMISSION_MICROPHONE=0',
- ## dart: PermissionGroup.speech
- 'PERMISSION_SPEECH_RECOGNIZER=0',
- # dart: PermissionGroup.photos
- 'PERMISSION_PHOTOS=1',
- # dart: [PermissionGroup.location, PermissionGroup.locationAlways, PermissionGroup.locationWhenInUse]
- # 'PERMISSION_LOCATION=0',
- ## dart: PermissionGroup.notification
- 'PERMISSION_NOTIFICATIONS=0',
- ## dart: PermissionGroup.mediaLibrary
- 'PERMISSION_MEDIA_LIBRARY=0',
- ## dart: PermissionGroup.sensors
- 'PERMISSION_SENSORS=0'
- ]
- if config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'].to_f < 10.0
- config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '14.0'
- end
- end
- end
- end
|