md-app/ios/Podfile

98 lines
3.7 KiB
Ruby

# 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