# Uncomment this line to define a global platform for your project platform :ios, '12.0' # Versión mínima para la aplicación principal # 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 # Agregar el target de la extensión solo si existe extension_path = Dir.glob("**/*SearchWidgetExtension.xcodeproj").first || Dir.glob("**/SearchWidgetExtension/SearchWidgetExtension.xcodeproj").first if extension_path != nil puts "Encontrada la extensión SearchWidgetExtension, configurando pods..." target 'SearchWidgetExtension' do use_frameworks! use_modular_headers! # Remove SwiftUI pod as it's part of the iOS SDK # pod 'SwiftUI' # Framework básico para SwiftUI # Don't share the same pods as the main app to avoid circular dependencies # Add only specific pods needed by the extension end else puts "No se encontró la extensión SearchWidgetExtension, omitiendo configuración específica." end post_install do |installer| # Configurar iOS 12.0 como el mínimo por defecto, pero dejar que cada pod use su propio mínimo installer.pods_project.targets.each do |target| target.build_configurations.each do |config| # Asegurarse de que ningún pod tenga deployment target menor que 12.0 if config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'].to_f < 12.0 config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0' end end end # Configurar los targets de Flutter installer.pods_project.targets.each do |target| flutter_additional_ios_build_settings(target) target.build_configurations.each do |config| # Configuraciones específicas para cada target if target.name == 'Runner' # Configuraciones para el target principal config.build_settings['EXPANDED_CODE_SIGN_IDENTITY'] = "" config.build_settings['CODE_SIGNING_REQUIRED'] = "NO" config.build_settings['CODE_SIGNING_ALLOWED'] = "NO" end # Configuraciones para la extensión si existe if target.name.include?('SearchWidgetExtension') config.build_settings['EXPANDED_CODE_SIGN_IDENTITY'] = "" config.build_settings['CODE_SIGNING_REQUIRED'] = "NO" config.build_settings['CODE_SIGNING_ALLOWED'] = "NO" config.build_settings['SKIP_INSTALL'] = 'YES' # Establecer iOS 16.1 como mínimo solo para la extensión (requisito para Live Activities) config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '16.1' end end end # Corregir problemas con el toolchain installer.generated_projects.each do |project| project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['DEVELOPMENT_TEAM'] = '' end end end end