# 🍎 Guide de Build iOS - GEOSECTOR **Date de crĂ©ation** : 21/10/2025 **Version actuelle** : 3.4.2 (Build 342) --- ## 📋 **PrĂ©requis** ### Sur le Mac mini - ✅ macOS installĂ© - ✅ Xcode installĂ© avec Command Line Tools - ✅ Flutter installĂ© (3.24.5 LTS recommandĂ©) - ✅ CocoaPods installĂ© (`sudo gem install cocoapods`) - ✅ Certificats Apple configurĂ©s (Team ID: 6WT84NWCTC) ### Sur Debian - ✅ AccĂšs SSH au Mac mini (192.168.1.34) - ✅ rsync installĂ© --- ## 🚀 **ProcĂ©dure complĂšte** ### **Étape 1 : Transfert depuis Debian vers Mac mini** ```bash # Sur votre machine Debian cd /home/pierre/dev/geosector/app # Lancer le transfert ./transfer-to-mac.sh ``` **Ce que fait le script** : 1. DĂ©tecte automatiquement la version (ex: 342) 2. CrĂ©e le dossier `app_342` sur le Mac mini 3. Transfert tous les fichiers nĂ©cessaires (lib, ios, pubspec.yaml, etc.) 4. Exclut les dossiers inutiles (build, .dart_tool, Pods, etc.) **DurĂ©e** : 2-5 minutes (selon la connexion rĂ©seau) **Note** : Vous devrez saisir le mot de passe du Mac mini --- ### **Étape 2 : Connexion au Mac mini** ```bash # Depuis Debian ssh pierre@192.168.1.34 # Aller dans le dossier transfĂ©rĂ© cd /Users/pierre/dev/geosector/app_342 ``` --- ### **Étape 3 : Lancer le build iOS** ```bash # Sur le Mac mini ./ios-build-mac.sh ``` **Ce que fait le script** : 1. ✅ Nettoie le projet (`flutter clean`) 2. ✅ RĂ©cupĂšre les dĂ©pendances (`flutter pub get`) 3. ✅ Installe les pods (`pod install`) 4. ✅ Compile en release (`flutter build ios --release`) 5. ✅ Ouvre Xcode pour l'archive (signature manuelle plus fiable) **DurĂ©e de prĂ©paration** : 5-10 minutes **RĂ©sultat** : Xcode s'ouvre, prĂȘt pour Product > Archive --- ### **Étape 4 : CrĂ©er l'archive et upload vers App Store Connect** **Xcode est ouvert automatiquement** ✅ Dans Xcode : 1. ⏳ Attendre le chargement (quelques secondes) 2. ✅ VĂ©rifier **Signing & Capabilities** : Team = 6WT84NWCTC, "Automatically manage signing" cochĂ© 3. đŸ§č **Product > Clean Build Folder** (Cmd+Shift+K) 4. 📩 **Product > Archive** 5. ⏳ Attendre l'archive (5-10 minutes) 6. đŸ“€ **Organizer** s'ouvre → Clic **Distribute App** 7. ☁ Choisir **App Store Connect** 8. ✅ **Upload** → Automatique 9. 🚀 **Next** jusqu'Ă  validation finale **⚠ Ne PAS utiliser xcodebuild en ligne de commande** : erreurs de signature (errSecInternalComponent). Xcode GUI obligatoire. --- ## 📁 **Structure des dossiers sur Mac mini** ``` /Users/pierre/dev/geosector/ ├── app_342/ # Version 3.4.2 (Build 342) │ ├── ios/ │ ├── lib/ │ ├── pubspec.yaml │ ├── ios-build-mac.sh # Script de build │ └── build/ │ └── Runner.xcarchive # Archive gĂ©nĂ©rĂ©e ├── app_341/ # Version prĂ©cĂ©dente (si existe) └── app_343/ # Version future ``` **Avantage** : Garder plusieurs versions cĂŽte Ă  cĂŽte pour tests/rollback --- ## 🔧 **RĂ©solution de problĂšmes** ### **Erreur : "Flutter not found"** ```bash # VĂ©rifier que Flutter est dans le PATH echo $PATH | grep flutter # Ajouter Flutter au PATH (dans ~/.zshrc ou ~/.bash_profile) export PATH="$PATH:/opt/flutter/bin" source ~/.zshrc ``` ### **Erreur : "xcodebuild not found"** ```bash # Installer Xcode Command Line Tools xcode-select --install ``` ### **Erreur lors de pod install** ```bash # Sur le Mac mini cd ios rm -rf Pods Podfile.lock pod install --repo-update cd .. ``` ### **Erreur de signature** 1. Ouvrir Xcode : `open ios/Runner.xcworkspace` 2. SĂ©lectionner le target "Runner" 3. Onglet "Signing & Capabilities" 4. VĂ©rifier Team ID : `6WT84NWCTC` 5. Cocher "Automatically manage signing" ### **Archive créée mais vide** VĂ©rifier que la compilation iOS a rĂ©ussi : ```bash flutter build ios --release --no-codesign --verbose ``` --- ## 📊 **Checklist de validation** - [ ] Version/Build incrĂ©mentĂ© dans `pubspec.yaml` - [ ] Compilation iOS rĂ©ussie - [ ] Archive validĂ©e dans Xcode Organizer - [ ] Build uploadĂ© vers App Store Connect - [ ] **TestFlight** : Ajouter build au groupe "Testeurs externes" - [ ] Renseigner "Infos sur l'exportation de conformitĂ©" : - **App utilise chiffrement ?** → Oui - **Algorithmes exempts listĂ©s ?** → **Aucun des algorithmes mentionnĂ©s ci-dessus** - (App utilise HTTPS standard iOS uniquement) - [ ] Soumettre build pour rĂ©vision TestFlight - [ ] *(Optionnel)* Captures/Release notes pour production App Store --- ## 🎯 **Workflow complet** ```bash # 1. Debian → Transfert cd /home/pierre/dev/geosector/app ./transfer-to-mac.sh # 2. Mac mini → Build + Archive ssh pierre@192.168.1.34 cd /Users/pierre/dev/geosector/app_342 ./ios-build-mac.sh # Xcode s'ouvre → Product > Clean + Archive # 3. Upload → TestFlight # Organizer > Distribute App > App Store Connect > Upload # App Store Connect > TestFlight > ConformitĂ© export ``` --- ## 📞 **Support** - **Documentation Apple** : https://developer.apple.com - **App Store Connect** : https://appstoreconnect.apple.com - **Flutter iOS** : https://docs.flutter.dev/deployment/ios --- ✅ **PrĂȘt pour la production !** 🚀