- #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>
124 lines
3.9 KiB
Bash
Executable File
124 lines
3.9 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
# Script de build iOS sur Mac mini
|
||
# À exécuter sur macOS uniquement
|
||
# Usage: ./ios-build-mac.sh
|
||
|
||
set -e
|
||
|
||
# Couleurs pour les messages
|
||
RED='\033[0;31m'
|
||
GREEN='\033[0;32m'
|
||
YELLOW='\033[1;33m'
|
||
BLUE='\033[0;34m'
|
||
NC='\033[0m' # No Color
|
||
|
||
echo -e "${BLUE}=========================================${NC}"
|
||
echo -e "${BLUE} 🍎 Build iOS - GEOSECTOR${NC}"
|
||
echo -e "${BLUE}=========================================${NC}"
|
||
echo ""
|
||
|
||
# Vérifier que nous sommes sur macOS
|
||
if [[ "$OSTYPE" != "darwin"* ]]; then
|
||
echo -e "${RED}❌ Erreur: Ce script doit être exécuté sur macOS${NC}"
|
||
exit 1
|
||
fi
|
||
|
||
# Vérifier que nous sommes dans le bon dossier
|
||
if [ ! -f "pubspec.yaml" ]; then
|
||
echo -e "${RED}❌ Erreur: Ce script doit être exécuté depuis le dossier racine de l'application Flutter${NC}"
|
||
echo -e "${RED}Fichier pubspec.yaml introuvable${NC}"
|
||
exit 1
|
||
fi
|
||
|
||
# Récupérer la version depuis pubspec.yaml
|
||
VERSION=$(grep "^version:" pubspec.yaml | sed 's/version: //' | tr -d ' ')
|
||
VERSION_NUMBER=$(echo $VERSION | cut -d'+' -f1)
|
||
VERSION_CODE=$(echo $VERSION | cut -d'+' -f2)
|
||
|
||
echo -e "${YELLOW}📦 Version détectée :${NC} $VERSION"
|
||
echo -e "${YELLOW} Version name :${NC} $VERSION_NUMBER"
|
||
echo -e "${YELLOW} Build number :${NC} $VERSION_CODE"
|
||
echo ""
|
||
|
||
# Vérifier que la version est bien synchronisée depuis transfer-to-mac.sh
|
||
if [ -z "$VERSION_CODE" ]; then
|
||
echo -e "${RED}⚠️ Avertissement: Version code introuvable${NC}"
|
||
echo -e "${YELLOW}Assurez-vous d'avoir utilisé transfer-to-mac.sh pour synchroniser la version${NC}"
|
||
echo ""
|
||
fi
|
||
|
||
# Étape 1 : Clean
|
||
echo -e "${YELLOW}🧹 Étape 1/5 : Nettoyage du projet...${NC}"
|
||
flutter clean
|
||
echo -e "${GREEN}✓ Nettoyage terminé${NC}"
|
||
echo ""
|
||
|
||
# Étape 2 : Pub get
|
||
echo -e "${YELLOW}📥 Étape 2/5 : Récupération des dépendances Flutter...${NC}"
|
||
flutter pub get
|
||
echo -e "${GREEN}✓ Dépendances récupérées${NC}"
|
||
echo ""
|
||
|
||
# Étape 3 : Pod install
|
||
echo -e "${YELLOW}🔧 Étape 3/5 : Installation des CocoaPods...${NC}"
|
||
|
||
# Configurer l'environnement Ruby Homebrew
|
||
export PATH="/opt/homebrew/opt/ruby/bin:/opt/homebrew/bin:$PATH"
|
||
export GEM_HOME="/opt/homebrew/lib/ruby/gems/3.4.0"
|
||
echo -e "${BLUE}ℹ Environnement Ruby Homebrew configuré${NC}"
|
||
|
||
cd ios
|
||
rm -rf Pods Podfile.lock
|
||
pod install --repo-update
|
||
cd ..
|
||
echo -e "${GREEN}✓ CocoaPods installés${NC}"
|
||
echo ""
|
||
|
||
# Étape 4 : Build iOS
|
||
echo -e "${YELLOW}🏗️ Étape 4/5 : Choix du mode de compilation...${NC}"
|
||
echo ""
|
||
echo -e "${BLUE}Quel mode de compilation souhaitez-vous utiliser ?${NC}"
|
||
echo -e " ${GREEN}[D]${NC} Debug - Pour tester Stripe Tap to Pay (défaut)"
|
||
echo -e " ${YELLOW}[R]${NC} Release - Pour distribution App Store"
|
||
echo ""
|
||
read -p "Votre choix (D/R) [défaut: D] : " -n 1 -r BUILD_MODE
|
||
echo ""
|
||
echo ""
|
||
|
||
# Définir le mode de build
|
||
if [[ $BUILD_MODE =~ ^[Rr]$ ]]; then
|
||
BUILD_FLAG="--release"
|
||
BUILD_MODE_NAME="Release"
|
||
else
|
||
BUILD_FLAG="--debug"
|
||
BUILD_MODE_NAME="Debug"
|
||
fi
|
||
|
||
echo -e "${YELLOW}🏗️ Compilation iOS en mode ${BUILD_MODE_NAME}...${NC}"
|
||
flutter build ios $BUILD_FLAG
|
||
echo -e "${GREEN}✓ Compilation terminée (mode ${BUILD_MODE_NAME})${NC}"
|
||
echo ""
|
||
|
||
# Étape 5 : Ouvrir Xcode
|
||
echo -e "${YELLOW}📱 Étape 5/5 : Ouverture de Xcode...${NC}"
|
||
echo ""
|
||
echo -e "${BLUE}=========================================${NC}"
|
||
echo -e "${GREEN} ✓ Préparation terminée !${NC}"
|
||
echo -e "${BLUE}=========================================${NC}"
|
||
echo ""
|
||
echo -e "${YELLOW}📋 Prochaines étapes dans Xcode :${NC}"
|
||
echo " 1. ⏳ Attendre le chargement complet de Xcode"
|
||
echo " 2. ✅ Vérifier Signing & Capabilities (Team: 6WT84NWCTC)"
|
||
echo " 3. 🧹 Product > Clean Build Folder (Cmd+Shift+K)"
|
||
echo " 4. 📦 Product > Archive"
|
||
echo " 5. ⏳ Attendre l'archive (5-10 minutes)"
|
||
echo " 6. 📤 Organizer > Distribute App > App Store Connect"
|
||
echo ""
|
||
|
||
# Ouvrir Xcode avec le workspace
|
||
open ios/Runner.xcworkspace
|
||
|
||
echo -e "${GREEN}🚀 Xcode ouvert !${NC}"
|
||
echo ""
|