Podfile 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. # Uncomment this line to define a global platform for your project
  2. platform :ios, '12.0'
  3. # CocoaPods analytics sends network stats synchronously affecting flutter build latency.
  4. ENV['COCOAPODS_DISABLE_STATS'] = 'true'
  5. project 'Runner', {
  6. 'Debug' => :debug,
  7. 'Profile' => :release,
  8. 'Release' => :release,
  9. }
  10. def flutter_root
  11. generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
  12. unless File.exist?(generated_xcode_build_settings_path)
  13. raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
  14. end
  15. File.foreach(generated_xcode_build_settings_path) do |line|
  16. matches = line.match(/FLUTTER_ROOT\=(.*)/)
  17. return matches[1].strip if matches
  18. end
  19. raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
  20. end
  21. require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
  22. flutter_ios_podfile_setup
  23. target 'Runner' do
  24. use_frameworks!
  25. use_modular_headers!
  26. flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
  27. end
  28. $iOSVersion = '12.0'
  29. post_install do |installer|
  30. installer.pods_project.targets.each do |target|
  31. flutter_additional_ios_build_settings(target)
  32. # Start of the permission_handler configuration
  33. target.build_configurations.each do |config|
  34. config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
  35. '$(inherited)',
  36. ## dart: PermissionGroup.camera
  37. 'PERMISSION_CAMERA=1',
  38. ## dart: [PermissionGroup.location, PermissionGroup.locationAlways, PermissionGroup.locationWhenInUse]
  39. 'PERMISSION_LOCATION=1',
  40. ]
  41. end
  42. installer.pods_project.build_configurations.each do |config|
  43. config.build_settings["EXCLUDED_ARCHS[sdk=*]"] = "armv7"
  44. config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = $iOSVersion
  45. end
  46. installer.pods_project.targets.each do |target|
  47. flutter_additional_ios_build_settings(target)
  48. # add these lines:
  49. target.build_configurations.each do |config|
  50. if Gem::Version.new($iOSVersion) > Gem::Version.new(config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'])
  51. config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = $iOSVersion
  52. end
  53. end
  54. end
  55. end
  56. end