- 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>
7.4 KiB
🍎 Guide de transfert et compilation iOS sur Mac mini
Date : 14/10/2025 Projet : GEOSECTOR v3.3.6 (Build 336) Source : Debian Linux (minipi1) Destination : Mac mini (compilation iOS)
✅ Corrections effectuées sur Linux (Debian)
🎉 Android : COMPILATION RÉUSSIE
Problèmes résolus :
- ✅ JDK incomplet → Installation
openjdk-21-jdk-headless - ✅ nfc_manager 3.3.0 → Triple patch automatique (AndroidManifest + build.gradle + Translator.kt)
- ✅ Conflit BouncyCastle/Stripe → Configuration
packagingdans build.gradle.kts
Scripts créés :
- ✅
fix-nfc-manager.sh- Patch automatique nfc_manager 3.3.0 (3 corrections) - ✅
android.sh- Build Android avec auto-patch intégré - ✅
deploy-app.sh- Déploiement DEV avec auto-patch et nettoyage cache
Résultat : Bundle Android généré avec succès → geosector-336.aab
📦 Packages Flutter modifiés
Packages supprimés (incompatibles iOS)
Ces packages causaient des erreurs 'Flutter/Flutter.h' file not found sur iOS :
| Package | Action | Remplacement |
|---|---|---|
package_info_plus |
❌ SUPPRIMÉ | ✅ AppInfoService auto-généré dans lib/core/services/app_info_service.dart |
network_info_plus |
❌ SUPPRIMÉ | ✅ NetworkInterface natif Dart (dart:io) |
sensors_plus |
❌ SUPPRIMÉ | ⚠️ Mode boussole retiré (feature optionnelle peu utilisée) |
Impact fonctionnel : Minimal - Perte de fonctionnalités mineures (mode boussole, diagnostic WiFi SSID/BSSID)
Configuration finale pubspec.yaml
dependencies:
flutter:
sdk: flutter
environment:
sdk: '>=3.0.0 <4.0.0'
# Flutter 3.24.5 LTS + Dart 3.5.4
# Packages downgradés pour compatibilité
Versions clés :
nfc_manager: 3.3.0- Nécessite patch (automatique via scripts)syncfusion_flutter_charts: 27.2.5- Sweet spot compatiblegeolocator: 13.0.3- Sans toARGB32()battery_plus: 6.0.3- Fix Gradle AGP 8connectivity_plus: 6.0.5- Fix Gradle AGP 8
📋 Étapes de compilation iOS sur Mac mini
1️⃣ Décompression et setup initial
# Décompresser l'archive
cd ~/dev/geosector
unzip app-14oct2025.zip
cd app
# Vérifier la version Flutter (doit être 3.24.5 LTS)
flutter --version
# Flutter 3.24.5 • channel stable
# Dart 3.5.4
2️⃣ Installation des dépendances
# Nettoyer (par précaution)
flutter clean
# Récupérer les dépendances Flutter
flutter pub get
# Installer les pods iOS
cd ios
pod install
cd ..
Résultat attendu :
- ✅ 25 pods installés
- ✅ Aucune erreur de dépendances
3️⃣ Vérification de la configuration iOS
Fichiers critiques à vérifier :
ios/Runner/Info.plist
Doit contenir les permissions :
- ✅ Localisation (GPS)
- ✅ NFC (tags secteurs)
- ✅ Bluetooth (terminaux Stripe)
- ✅ Caméra (scan cartes)
- ✅ Photos (justificatifs)
ios/Runner/Runner.entitlements
Doit contenir :
- ✅ NFC Tag Reading (NDEF, TAG)
- ✅ Stripe Terminal - Tap to Pay on iPhone
- ✅ Network Access
- ✅ Keychain Sharing
4️⃣ Compilation de test (sans signature)
# Build iOS en release sans codesign
flutter build ios --release --no-codesign
Résultats possibles :
✅ Si compilation réussit
→ Passer directement à l'étape 5 (Xcode)
❌ Si erreurs de compilation
Consulter README-IOS.md (section "Diagnostic final - Problème structurel iOS")
Erreurs possibles :
'Flutter/Flutter.h' file not found→ Problème SwiftPM (voir README-IOS.md)- Erreurs de pods → Réexécuter
pod install
5️⃣ Configuration Xcode
# Ouvrir le workspace Xcode
open ios/Runner.xcworkspace
Dans Xcode :
A. Vérifier le Team ID
- Sélectionner le target
Runner - Onglet
Signing & Capabilities - Team :
6WT84NWCTC✅
B. Vérifier Bundle Identifier
- Bundle ID :
fr.geosector.app3✅
C. Vérifier les Capabilities
- ✅ Near Field Communication Tag Reading
- ⚠️ Tap to Pay on iPhone (nécessite approbation Apple spéciale)
D. Vérifier la version
- Version :
3.3.6 - Build :
336
6️⃣ Archive pour App Store
# Dans Xcode :
# Product > Clean Build Folder (Cmd+Shift+K)
# Product > Archive
Durée estimée : 5-10 minutes
🔧 Résolution de problèmes iOS
Problème : Erreur SwiftPM / Flutter.h
Symptôme :
'Flutter/Flutter.h' file not found
Causes possibles :
- Flutter 3.24.5 LTS avec packages récents (incompatibilité SwiftPM)
- Transition SwiftPM incomplète dans l'écosystème Flutter
Solutions documentées dans README-IOS.md :
- Option A : Désactiver SwiftPM (forcer CocoaPods pur)
- Option B : Patcher manuellement les headers
- Option C : Attendre Flutter 3.28+ LTS avec SwiftPM stable
Problème : Pods non installés
cd ios
rm -rf Pods Podfile.lock
pod install
cd ..
Problème : Cache Flutter
flutter clean
rm -rf ios/Pods ios/Podfile.lock
flutter pub get
cd ios && pod install && cd ..
📊 État actuel du projet
| Plateforme | Statut | Notes |
|---|---|---|
| Web | ✅ Compilé | Déployable immédiatement |
| Android | ✅ Compilé | Bundle prêt : geosector-336.aab |
| iOS | ⏳ En attente | Configuration Mac mini requise |
📂 Structure du projet transféré
app/
├── fix-nfc-manager.sh # Script de patch nfc_manager (Android uniquement)
├── android.sh # Build Android avec auto-patch
├── deploy-app.sh # Déploiement DEV avec auto-patch
├── pubspec.yaml # Configuration finale Flutter 3.24.5 LTS
├── README-IOS.md # Guide détaillé iOS (historique problèmes)
├── TRANSFERT-MAC.md # Ce fichier
├── docs/
│ └── TODO-APP.md # Documentation complète (Phase 8 Android complétée)
├── lib/
│ └── core/services/
│ └── app_info_service.dart # Remplace package_info_plus (auto-généré)
├── android/
│ └── app/build.gradle.kts # Configuration packaging BouncyCastle
└── ios/
├── Runner/
│ ├── Info.plist # Permissions iOS
│ └── Runner.entitlements # Entitlements Stripe Tap to Pay
└── Podfile # CocoaPods configuration
🎯 Objectif final iOS
Créer l'archive App Store :
- ✅ Compilation iOS réussie
- ✅ Validation de l'archive (Organizer)
- ✅ Upload vers App Store Connect
- ✅ Configuration métadonnées + captures d'écran
- ✅ Soumission pour révision Apple
Deadline : Aucune urgence (Android fonctionnel pour tests)
📞 Support et documentation
Documents de référence :
README-IOS.md- Guide complet iOS avec historique des tentativesdocs/TODO-APP.md- Documentation technique complète (Phase 8 Android)- Apple Developer : https://developer.apple.com
- App Store Connect : https://appstoreconnect.apple.com
Configuration serveur :
- DEV : dapp.geosector.fr
- REC : rapp.geosector.fr
- PROD : app3.geosector.fr
✅ Le projet est prêt pour le transfert et la compilation iOS !
Prochaines étapes :
- Zipper le dossier
app/ - Transférer sur Mac mini (Samba/rsync)
- Suivre les étapes 1-6 ci-dessus
- Croiser les doigts pour la compilation iOS 🤞
Bonne chance ! 🚀