# 🍎 Guide de Build iOS - GEOSECTOR

**Dernière mise à jour** : 16/11/2025
**Version système** : Workflow automatisé depuis Debian

---

## 📋 Prérequis

### Mac mini (192.168.1.34)
- ✅ Xcode + Command Line Tools
- ✅ Flutter 3.24.5 LTS
- ✅ CocoaPods installé
- ✅ Certificats Apple (Team: **6WT84NWCTC**)

### PC Debian (développement)
- ✅ Accès SSH au Mac mini
- ✅ Fichier `../VERSION` à jour

---

## 🚀 Build iOS - Workflow complet

### **Commande unique depuis Debian**

```bash
cd /home/pierre/dev/geosector/app
./ios.sh
```

**Ce que fait le script** :
1. ✅ Lit `../VERSION` (ex: 3.5.3)
2. ✅ Met à jour `pubspec.yaml` (3.5.3+353)
3. ✅ Teste connexion Mac mini
4. ✅ Transfert rsync → `/Users/pierre/dev/geosector/app_353/`
5. 🔀 **Choix A** : Lance build SSH automatique
6. 🔀 **Choix B** : Instructions manuelles

---

### **Option A : Build automatique (recommandé)**

Sélectionner **A** dans le menu :
- SSH automatique vers Mac mini
- Lance `ios-build-mac.sh`
- Ouvre Xcode pour l'archive

### **Option B : Build manuel**

```bash
ssh pierre@192.168.1.34
cd /Users/pierre/dev/geosector/app_353
./ios-build-mac.sh
```

---

## 📦 Archive et Upload (Xcode)

**Xcode s'ouvre automatiquement** après le build ✅

1. ⏳ Attendre chargement Xcode
2. ✅ Vérifier **Signing & Capabilities**
   - Team : `6WT84NWCTC`
   - "Automatically manage signing" : ✅
3. 🧹 **Product > Clean Build Folder** (⌘⇧K)
4. 📦 **Product > Archive** (⏳ 5-10 min)
5. 📤 **Organizer** → **Distribute App**
6. ☁️ **App Store Connect** → **Upload**
7. ✅ **Upload** (⏳ 2-5 min)

---

## 📱 TestFlight (App Store Connect)

https://appstoreconnect.apple.com

1. **Apps** > **GeoSector** > **TestFlight**
2. ⏳ Attendre traitement (5-15 min)
3. Build **353 (3.5.3)** apparaît
4. **Conformité export** :
   - Utilise chiffrement ? → **Oui**
   - Algorithmes exempts ? → **Aucun des algorithmes mentionnés**
5. **Testeurs internes** → Ajouter ton Apple ID
6. 📧 Invitation TestFlight envoyée

---

## ✅ Checklist rapide

- [ ] Mettre à jour `../VERSION` (ex: 3.5.4)
- [ ] Lancer `./ios.sh` depuis Debian
- [ ] Archive créée dans Xcode
- [ ] Upload vers App Store Connect
- [ ] Conformité export renseignée
- [ ] Testeur interne ajouté
- [ ] App installée via TestFlight

---

## 🔧 Résolution problèmes

### Erreur SSH "Too many authentication failures"
✅ **Corrigé** : Le script force l'authentification par mot de passe

### Erreur de signature Xcode
```
Signing & Capabilities > Team = 6WT84NWCTC
"Automatically manage signing" ✅
```

### Pod install échoue
```bash
cd ios
rm -rf Pods Podfile.lock
pod install --repo-update
```

---

## 🎯 Workflow version complète

```mermaid
Debian (dev) → Mac mini (build) → App Store Connect → TestFlight → iPhone
    │              │                      │                │          │
    ↓              ↓                      ↓                ↓          ↓
 ios.sh        build iOS             Upload           Traitement   Install
              + Archive                               (5-15 min)
```

**Temps total** : 20-30 minutes (build + upload + traitement Apple)

---

## 📞 Liens utiles

- **App Store Connect** : https://appstoreconnect.apple.com
- **TestFlight** : App dans l'App Store
- **Flutter iOS** : https://docs.flutter.dev/deployment/ios

---

✅ **Prêt pour TestFlight !** 🚀
