- Configuration complète Stripe pour les 3 environnements (DEV/REC/PROD) * DEV: Clés TEST Pierre (mode test) * REC: Clés TEST Client (mode test) * PROD: Clés LIVE Client (mode live) - Ajout de la gestion des bases de données immeubles/bâtiments * Configuration buildings_database pour DEV/REC/PROD * Service BuildingService pour enrichissement des adresses - Optimisations pages et améliorations ergonomie - Mises à jour des dépendances Composer - Nettoyage des fichiers obsolètes 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
6.2 KiB
📜 Scripts iOS - Guide d'utilisation
Date de création : 14/10/2025 Objectif : Automatiser les corrections nécessaires pour compiler l'application iOS
📂 Scripts disponibles
1. fix-permission-handler.sh ✅ TESTÉ ET FONCTIONNEL
Problème corrigé : Le package permission_handler_apple-9.4.7 embarque ses propres headers Flutter qui créent des conflits de compilation.
Actions effectuées :
- ✅ Détecte automatiquement la version du package dans
.pub-cache - ✅ Supprime le dossier
/ios/Classes/Flutter/embarqué - ✅ Corrige les imports dans
PermissionHandlerPlugin.h - ✅ Corrige les imports dans
PermissionManager.h
Usage :
./fix-permission-handler.sh
Quand l'exécuter :
- ✅ Après chaque
flutter pub get - ✅ Avant
pod install - ✅ Si erreurs de compilation
'FlutterAppDelegate' has different definitions
Sortie attendue :
🔧 Fix permission_handler_apple - Correction des conflits Flutter headers
📦 Package trouvé : /Users/pierre/.pub-cache/.../permission_handler_apple-9.4.7
✅ Dossier Flutter supprimé
✅ PermissionHandlerPlugin.h corrigé
✅ PermissionManager.h corrigé
🎉 Correction terminée avec succès !
2. fix-nfc-manager.sh ⚠️ PRÉSENT MAIS NON TESTÉ SUR MAC
Problème corrigé : Le package nfc_manager-3.3.0 manque la déclaration namespace requise par Android Gradle Plugin 8+.
Note : Ce script était fonctionnel sur Debian Linux. Sur Mac, il semble y avoir une erreur sed à corriger.
Actions prévues :
- Ajout du
namespacedansAndroidManifest.xml - Correction du fichier
build.gradle - Correction du fichier
Translator.kt
Statut : ⚠️ À débugger si nécessaire (erreur sed détectée)
3. fix-ios-packages.sh (Script maître) ⚠️ EN DÉVELOPPEMENT
Objectif : Exécuter tous les scripts de correction iOS en une seule commande.
Inclut :
fix-nfc-manager.sh(si corrigé)fix-permission-handler.sh✅
Statut actuel : Fonctionne partiellement (erreur sed dans fix-nfc-manager.sh)
🚀 Workflow de build iOS complet
Option A : Build iOS uniquement (recommandé actuellement)
# 1. Nettoyer
flutter clean
# 2. Récupérer les dépendances
flutter pub get
# 3. 🔧 Corriger permission_handler_apple
./fix-permission-handler.sh
# 4. Installer les pods
cd ios && pod install && cd ..
# 5. Compiler
flutter build ios --release --no-codesign
Option B : Build complet (Web + Android + iOS)
Android :
# Le script fix-nfc-manager.sh devrait être exécuté ici
flutter build appbundle --release
iOS :
# Utiliser Option A ci-dessus
Web :
flutter build web --release
✅ Vérifications avant compilation iOS
1. Version Flutter correcte
flutter --version
# Attendu : Flutter 3.24.5 • channel [user-branch]
# Dart 3.5.4 • DevTools 2.37.3
2. Fichiers de configuration régénérés
cat ios/Flutter/Generated.xcconfig | grep FLUTTER_ROOT
# Attendu : FLUTTER_ROOT=/Users/pierre/dev/flutter
3. Permission handler corrigé
ls ~/.pub-cache/hosted/pub.dev/permission_handler_apple-*/ios/Classes/Flutter/
# Attendu : ls: .../Flutter/: No such file or directory (= bon signe !)
4. Pods installés
cat ios/Podfile.lock | grep "permission_handler_apple"
# Attendu : - permission_handler_apple (9.3.0):
🐛 Dépannage
Erreur : 'FlutterAppDelegate' has different definitions
Solution : Exécuter ./fix-permission-handler.sh
Erreur : Flutter/Flutter.h: No such file or directory
Causes possibles :
- Le script
fix-permission-handler.shn'a pas été exécuté - Les imports n'ont pas été corrigés correctement
- Le cache build doit être nettoyé
Solution :
./fix-permission-handler.sh
rm -rf build/ios ios/Pods
cd ios && pod install && cd ..
flutter build ios --release --no-codesign
Erreur : Invalid Podfile file: cannot load such file -- podhelper
Cause : Le fichier ios/Flutter/Generated.xcconfig contient de mauvais chemins (Linux au lieu de Mac).
Solution :
rm ios/Flutter/Generated.xcconfig
flutter pub get
Build réussi mais warnings CocoaPods
Warning :
[!] CocoaPods did not set the base configuration of your project...
Impact : ⚠️ Non bloquant, la compilation fonctionne
Solution : (Optionnel) Configurer manuellement dans Xcode les fichiers de configuration CocoaPods
📝 Historique des corrections
14/10/2025 - Solution finale trouvée ✅
Problème : Compilation iOS impossible avec erreurs de conflits de définitions Flutter
Cause identifiée : permission_handler_apple-9.4.7 embarquait ses propres headers Flutter
Solution appliquée :
- ✅ Suppression du dossier
/ios/Classes/Flutter/du package - ✅ Modification des imports :
"Flutter/Flutter.h"→<Flutter/Flutter.h> - ✅ Création du script
fix-permission-handler.sh
Résultat :
✓ Built build/ios/iphoneos/Runner.app (107.4MB)
Xcode build done. 59,1s
13/10/2025 - Suppression packages problématiques
Packages supprimés : package_info_plus, network_info_plus, sensors_plus
Raison : Erreurs 'Flutter/Flutter.h' file not found persistantes
Impact : Perte de fonctionnalités mineures (mode boussole, diagnostic WiFi)
11/10/2025 - Downgrade vers Flutter 3.24.5 LTS
Versions testées sans succès :
- ❌ Flutter 3.35.6 (bugs SwiftPM)
- ❌ Flutter 3.35.5 (bugs SwiftPM)
- ❌ Flutter 3.27.2 (incompatibilités)
Version retenue : Flutter 3.24.5 LTS + Dart 3.5.4
🔗 Références
Documentation
SOLUTION-IOS.md- Guide complet de la solution finaleREADME-IOS.md- Historique détaillé des tentativesTRANSFERT-MAC.md- Guide de transfert Linux → Mac
Scripts
fix-permission-handler.sh- ✅ Fonctionnelfix-nfc-manager.sh- ⚠️ À débugger (erreur sed)fix-ios-packages.sh- ⚠️ Dépend du fix nfc_manager
Auteur : Claude Code + Pierre Version : 1.0.0 Dernière mise à jour : 14/10/2025 12:45
✅ Le script fix-permission-handler.sh est prêt à l'emploi !