126 lines
3.6 KiB
Bash
Executable File
126 lines
3.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Script de réinitialisation complète pour résoudre les problèmes de compilation iOS
|
|
# Spécialement conçu pour résoudre l'erreur "No such module 'Flutter'"
|
|
# Version 2.0 - Avec ajout automatique des chemins de recherche de frameworks
|
|
|
|
echo "🧹 Nettoyage complet de l'environnement iOS..."
|
|
|
|
# Se placer dans le répertoire du projet
|
|
cd "$(dirname "$0")"
|
|
|
|
# Supprimer les fichiers générés par Flutter
|
|
echo "📦 Nettoyage des fichiers Flutter..."
|
|
flutter clean
|
|
|
|
# Supprimer le cache pub
|
|
echo "🗑️ Suppression du cache pub pour les plugins problématiques..."
|
|
rm -rf ~/.pub-cache/hosted/pub.dev/connectivity_plus-*
|
|
|
|
# Supprimer les fichiers de CocoaPods
|
|
echo "🗂️ Nettoyage des fichiers CocoaPods..."
|
|
cd ios
|
|
rm -rf Pods
|
|
rm -rf .symlinks
|
|
rm -f Podfile.lock
|
|
rm -rf ~/Library/Developer/Xcode/DerivedData
|
|
|
|
# Supprimer le workspace Xcode (il sera recréé)
|
|
echo "🔄 Suppression du workspace Xcode..."
|
|
rm -rf Runner.xcworkspace
|
|
|
|
# Revenir au répertoire parent
|
|
cd ..
|
|
|
|
# Récupérer les dépendances Flutter
|
|
echo "📥 Récupération des dépendances Flutter..."
|
|
flutter pub get
|
|
|
|
# Régénérer les fichiers iOS
|
|
echo "🔨 Précaching des outils iOS..."
|
|
flutter precache --ios --force
|
|
|
|
# Forcer la génération des plugins
|
|
echo "🔌 Régénération des plugins..."
|
|
flutter pub cache repair
|
|
flutter pub get
|
|
|
|
# Réinstaller les pods avec des options supplémentaires
|
|
echo "📲 Réinstallation des pods..."
|
|
cd ios
|
|
pod deintegrate
|
|
pod cache clean --all
|
|
pod repo update
|
|
pod install --repo-update --verbose
|
|
|
|
# Ajouter automatiquement les chemins de recherche de frameworks
|
|
echo "🔍 Ajout des chemins de recherche de frameworks..."
|
|
|
|
# Créer un fichier temporaire pour stocker les chemins de recherche
|
|
cat > ios/add_framework_paths.rb << 'EOL'
|
|
#!/usr/bin/env ruby
|
|
|
|
require 'xcodeproj'
|
|
|
|
# Ouvrir le projet
|
|
project_path = 'Runner.xcodeproj'
|
|
project = Xcodeproj::Project.open(project_path)
|
|
|
|
# Trouver la cible Runner
|
|
target = project.targets.find { |t| t.name == 'Runner' }
|
|
|
|
# Parcourir toutes les configurations de build
|
|
target.build_configurations.each do |config|
|
|
# Obtenir les paramètres de build actuels
|
|
build_settings = config.build_settings
|
|
|
|
# Définir les chemins de recherche de frameworks
|
|
framework_search_paths = [
|
|
'$(inherited)',
|
|
'"${PODS_CONFIGURATION_BUILD_DIR}/ReachabilitySwift"',
|
|
'"${PODS_CONFIGURATION_BUILD_DIR}/connectivity_plus"',
|
|
'"${PODS_CONFIGURATION_BUILD_DIR}/path_provider_foundation"',
|
|
'"${PODS_CONFIGURATION_BUILD_DIR}/url_launcher_ios"',
|
|
'"${PODS_ROOT}/Flutter"',
|
|
'"${PODS_XCFRAMEWORKS_BUILD_DIR}/Flutter"'
|
|
]
|
|
|
|
# Ajouter les chemins de recherche de frameworks
|
|
build_settings['FRAMEWORK_SEARCH_PATHS'] = framework_search_paths
|
|
|
|
# Ajouter les chemins de recherche d'en-têtes
|
|
header_search_paths = [
|
|
'$(inherited)',
|
|
'"${PODS_ROOT}/Flutter"',
|
|
'"${PODS_CONFIGURATION_BUILD_DIR}"'
|
|
]
|
|
|
|
build_settings['HEADER_SEARCH_PATHS'] = header_search_paths
|
|
|
|
# S'assurer que les modules sont activés
|
|
build_settings['DEFINES_MODULE'] = 'YES'
|
|
|
|
# Désactiver le bitcode
|
|
build_settings['ENABLE_BITCODE'] = 'NO'
|
|
|
|
# Inclure tous les assets d'icônes
|
|
build_settings['ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS'] = 'YES'
|
|
|
|
# Autres paramètres importants
|
|
build_settings['SWIFT_VERSION'] = '5.0'
|
|
build_settings['CLANG_ENABLE_MODULES'] = 'YES'
|
|
end
|
|
|
|
# Enregistrer les modifications
|
|
project.save
|
|
|
|
puts "✅ Chemins de recherche de frameworks ajoutés avec succès !"
|
|
EOL
|
|
|
|
# Exécuter le script Ruby pour ajouter les chemins de recherche
|
|
cd ios
|
|
ruby add_framework_paths.rb
|
|
cd ..
|
|
|
|
echo "✅ Réinitialisation iOS terminée ! Ouvrez le projet avec 'open ios/Runner.xcworkspace'"
|