Files
geo/app/IOS-BUILD-GUIDE.md
pierre 2f5946a184 feat: Version 3.5.2 - Configuration Stripe et gestion des immeubles
- 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>
2025-11-09 18:26:27 +01:00

5.1 KiB

🍎 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

# 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

# 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

# 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"

# 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"

# Installer Xcode Command Line Tools
xcode-select --install

Erreur lors de pod install

# 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 :

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

# 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


Prêt pour la production ! 🚀