- #17: Amélioration gestion des secteurs et statistiques - #18: Optimisation services API et logs - #19: Corrections Flutter widgets et repositories - #20: Fix création passage - détection automatique ope_users.id vs users.id Suppression dossier web/ (migration vers app Flutter) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
144 lines
3.4 KiB
Markdown
144 lines
3.4 KiB
Markdown
# 🍎 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 !** 🚀
|