- 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>
8.9 KiB
📜 Scripts de Build GEOSECTOR
Version : 3.3.6 Date : 14/10/2025
📦 Scripts disponibles
| Script | Plateforme | Description | Statut |
|---|---|---|---|
android.sh |
Android | Build bundle (.aab) + APK optionnel | ✅ Fonctionnel |
ios.sh |
iOS | Build + Archive Xcode complète | ✅ NOUVEAU |
fix-permission-handler.sh |
iOS | Patch package problématique | ✅ Testé |
fix-nfc-manager.sh |
Android | Patch namespace Android | ⚠️ À vérifier |
fix-ios-packages.sh |
iOS | Script maître (tous les patchs) | ⚠️ Dépend du fix nfc |
deploy-app.sh |
DEV | Déploiement sur dapp.geosector.fr | ✅ Existant |
🍎 Script iOS : ios.sh
Fonctionnalités
Le script ios.sh automatise TOUTE la chaîne de build iOS :
-
✅ Vérifications préliminaires
- Vérification Flutter 3.24.5 LTS
- Vérification CocoaPods
- Vérification Xcode
- Vérification que nous sommes sur macOS
-
✅ Nettoyage complet
flutter clean- Suppression
ios/Pods - Suppression
ios/Podfile.lock - Suppression
ios/.symlinks - Suppression
build/ios
-
✅ Récupération des dépendances
flutter pub get- Vérification des chemins Flutter (détection erreurs Linux)
-
✅ Patch permission_handler_apple
- Exécution automatique de
fix-permission-handler.sh - Correction des conflits de headers Flutter
- Exécution automatique de
-
✅ Installation des pods
cd ios && pod install- Vérification du workspace Xcode
-
✅ Analyse du code
flutter analyze(non bloquant)- Possibilité de continuer malgré les warnings
-
✅ Compilation iOS
flutter build ios --release --no-codesign- Affichage de la taille de l'app
-
✅ Archive Xcode (optionnel)
- Ouverture de Xcode
- Instructions pas à pas
- Attente de la fin de l'archive
Usage
Build standard (avec archive Xcode)
./ios.sh
Étapes :
- Exécute toutes les étapes automatiquement
- Ouvre Xcode à la fin
- Affiche les instructions pour créer l'archive
- Attend que vous appuyiez sur Entrée après l'archive
Durée estimée : 5-10 minutes (hors archive Xcode)
Build rapide (sans archive)
./ios.sh --skip-archive
Étapes :
- Exécute toutes les étapes jusqu'à la compilation
- N'ouvre pas Xcode
- Vous laisse créer l'archive manuellement plus tard
Durée estimée : 3-5 minutes
Sorties du script
Succès
[INFO] =========================================
[SUCCESS] BUILD iOS TERMINÉ AVEC SUCCÈS !
[INFO] =========================================
Version : 3.3.6 (336)
Bundle ID : fr.geosector.app3
Application : build/ios/iphoneos/Runner.app
Prochaines étapes (dans Xcode) :
1. ✅ Build iOS réussi
2. ⏳ Créer l'archive (Product > Archive)
3. ⏳ Valider l'archive (Organizer > Validate App)
4. ⏳ Upload vers App Store Connect
Erreur
[ERROR] Échec de la compilation iOS
[ERROR] Consultez les logs ci-dessus pour plus de détails
Gestion des erreurs
Le script s'arrête automatiquement en cas d'erreur et affiche :
- La ligne de l'erreur
- Un message explicatif
- Les logs de la commande qui a échoué
🤖 Script Android : android.sh
Fonctionnalités
- ✅ Nettoyage du projet (
flutter clean) - ✅ Récupération des dépendances (
flutter pub get) - ✅ Patch nfc_manager automatique
- ✅ Analyse du code Dart
- ✅ Génération du bundle (.aab)
- ✅ Copie du bundle avec nom versionné
- ✅ Génération optionnelle de l'APK
Usage
./android.sh
Sortie : geosector-336.aab (+ optionnel geosector-336.apk)
🔧 Scripts de correction
fix-permission-handler.sh (iOS uniquement)
Problème corrigé : Conflits de headers Flutter dans permission_handler_apple-9.4.7
Actions :
- Supprime
/ios/Classes/Flutter/du package - Corrige les imports dans
PermissionHandlerPlugin.h - Corrige les imports dans
PermissionManager.h
Usage :
./fix-permission-handler.sh
Quand l'utiliser :
- Automatiquement via
ios.sh - Manuellement après
flutter pub get - Si erreur
'FlutterAppDelegate' has different definitions
fix-nfc-manager.sh (Android uniquement)
Problème corrigé : Namespace Android manquant dans nfc_manager-3.3.0
Actions :
- Ajoute
namespacedansAndroidManifest.xml - Corrige
build.gradle - Corrige
Translator.kt
Usage :
./fix-nfc-manager.sh
Quand l'utiliser :
- Automatiquement via
android.sh - Manuellement après
flutter pub get - Si erreur de compilation Android Gradle
⚠️ Note : Sur macOS, ce script peut avoir une erreur sed. À débugger si nécessaire.
🚀 Workflows recommandés
Build iOS complet
# Option 1 : Tout automatique
./ios.sh
# Option 2 : Build sans archive
./ios.sh --skip-archive
# Puis plus tard :
open ios/Runner.xcworkspace
# Product > Archive dans Xcode
Build Android complet
./android.sh
# Génère : geosector-336.aab
Build Web
flutter build web --release
# Ou via deploy-app.sh pour DEV
Build toutes les plateformes
# 1. Android
./android.sh
# 2. iOS
./ios.sh --skip-archive
# 3. Web
flutter build web --release
📋 Checklist avant build
Avant android.sh
- Flutter version correcte
- Keystore présent :
android/app/geosector2025.jks - Fichier
android/key.propertiesconfiguré - Version incrémentée dans
pubspec.yaml
Avant ios.sh
- Sur macOS
- Flutter 3.24.5 LTS installé
- Xcode installé et à jour
- CocoaPods installé
- Team ID configuré :
6WT84NWCTC - Bundle ID correct :
fr.geosector.app3 - Version incrémentée dans
pubspec.yaml - Script
fix-permission-handler.shprésent
🐛 Dépannage
Erreur : "Flutter n'est pas dans le PATH"
Solution :
# Ajouter Flutter au PATH
export PATH="$PATH:$HOME/dev/flutter/bin"
# Ou ajouter dans ~/.zshrc (Mac)
Erreur : "CocoaPods not installed"
Solution :
sudo gem install cocoapods
Erreur : "Invalid Podfile file"
Solution :
rm ios/Flutter/Generated.xcconfig
flutter pub get
Erreur : "Build iOS failed"
Solutions :
- Vérifier que
fix-permission-handler.sha été exécuté - Nettoyer complètement :
flutter clean rm -rf ios/Pods ios/Podfile.lock flutter pub get ./fix-permission-handler.sh cd ios && pod install - Vérifier les logs Xcode pour l'erreur exacte
Script ios.sh s'arrête à l'étape 3
Cause : Script fix-permission-handler.sh introuvable ou non exécutable
Solution :
chmod +x fix-permission-handler.sh
./ios.sh
📊 Temps d'exécution estimés
| Script | Durée | Notes |
|---|---|---|
android.sh |
5-10 min | Dépend de la machine |
ios.sh (sans archive) |
3-5 min | Sur Mac mini/MacBook |
ios.sh (avec archive) |
10-20 min | + temps Xcode Archive |
fix-permission-handler.sh |
< 5 secondes | Très rapide |
flutter clean |
10-30 secondes | Variable |
flutter pub get |
30-60 secondes | Variable |
pod install |
30-90 secondes | Première fois plus long |
📝 Logs et debug
Activer les logs détaillés
Android :
flutter build appbundle --release --verbose
iOS :
flutter build ios --release --no-codesign --verbose
Voir les logs Xcode
Dans Xcode après une erreur :
- Product > Show Build Log (Cmd+B puis Cmd+7)
- Ou dans Terminal :
tail -f ~/Library/Logs/DiagnosticReports/xcodebuild*
🔗 Références
Documentation créée
BUILD-IOS-SUCCESS.md- Récapitulatif du succès iOSSOLUTION-IOS.md- Guide complet de la solutionSCRIPTS-IOS.md- Documentation des scripts iOSREADME-SCRIPTS.md- Ce fichier
Scripts
ios.sh- ✅ Script maître iOSandroid.sh- ✅ Script maître Androidfix-permission-handler.sh- ✅ Patch iOSfix-nfc-manager.sh- ⚠️ Patch Android (à vérifier)
🎯 Prochaines améliorations possibles
Script ios.sh
- Création de l'archive via ligne de commande (sans ouvrir Xcode)
- Upload automatique vers App Store Connect via
xcrun altool - Génération automatique des métadonnées App Store
- Tests automatisés avant build
Script android.sh
- Upload automatique vers Google Play Console
- Tests automatisés avant build
- Génération de screenshots automatiques
Scripts communs
- Script
build-all.sh- Build toutes les plateformes en une fois - Script
test-all.sh- Tests automatisés toutes plateformes - Script
deploy-all.sh- Déploiement vers tous les environnements
Auteur : Claude Code + Pierre Version : 1.0.0 Dernière mise à jour : 14/10/2025
✅ Les scripts android.sh et ios.sh sont prêts à l'emploi !