- 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>
153 lines
4.9 KiB
Bash
Executable File
153 lines
4.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Script de compilation et archivage iOS sur Mac mini
|
|
# Ce script doit être exécuté SUR le Mac mini
|
|
# 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} GEOSECTOR - Build iOS sur Mac mini${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 (Mac mini)${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
|
|
|
|
# Vérifier que Flutter est installé
|
|
if ! command -v flutter &> /dev/null; then
|
|
echo -e "${RED}Erreur: Flutter n'est pas installé ou n'est pas dans le PATH${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
# Vérifier que Xcode est installé
|
|
if ! command -v xcodebuild &> /dev/null; then
|
|
echo -e "${RED}Erreur: Xcode Command Line Tools ne sont pas installés${NC}"
|
|
echo -e "${YELLOW}Installation: xcode-select --install${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
# Récupérer la version depuis pubspec.yaml
|
|
VERSION=$(grep "^version:" pubspec.yaml | sed 's/version: //' | tr -d ' ')
|
|
VERSION_NAME=$(echo $VERSION | cut -d'+' -f1)
|
|
VERSION_CODE=$(echo $VERSION | cut -d'+' -f2)
|
|
|
|
if [ -z "$VERSION_CODE" ]; then
|
|
echo -e "${RED}Impossible de récupérer la version depuis pubspec.yaml${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
echo -e "${YELLOW}Version détectée :${NC} $VERSION"
|
|
echo -e "${YELLOW}Version name :${NC} $VERSION_NAME"
|
|
echo -e "${YELLOW}Build number :${NC} $VERSION_CODE"
|
|
echo ""
|
|
|
|
# Afficher la version de Flutter
|
|
echo -e "${BLUE}Version Flutter :${NC}"
|
|
flutter --version
|
|
echo ""
|
|
|
|
# Étape 1 : Nettoyer le projet
|
|
echo -e "${BLUE}Étape 1/5 : Nettoyage du projet...${NC}"
|
|
flutter clean
|
|
if [ $? -eq 0 ]; then
|
|
echo -e "${GREEN}✓ Projet nettoyé${NC}"
|
|
else
|
|
echo -e "${RED}✗ Échec du nettoyage${NC}"
|
|
exit 1
|
|
fi
|
|
echo ""
|
|
|
|
# Étape 2 : Récupérer les dépendances Flutter
|
|
echo -e "${BLUE}Étape 2/5 : Récupération des dépendances Flutter...${NC}"
|
|
flutter pub get
|
|
if [ $? -eq 0 ]; then
|
|
echo -e "${GREEN}✓ Dépendances Flutter récupérées${NC}"
|
|
else
|
|
echo -e "${RED}✗ Échec de la récupération des dépendances${NC}"
|
|
exit 1
|
|
fi
|
|
echo ""
|
|
|
|
# Étape 3 : Installer les pods iOS
|
|
echo -e "${BLUE}Étape 3/5 : Installation des CocoaPods...${NC}"
|
|
cd ios
|
|
pod install
|
|
if [ $? -eq 0 ]; then
|
|
echo -e "${GREEN}✓ Pods installés${NC}"
|
|
cd ..
|
|
else
|
|
echo -e "${RED}✗ Échec de l'installation des pods${NC}"
|
|
cd ..
|
|
exit 1
|
|
fi
|
|
echo ""
|
|
|
|
# Étape 4 : Build iOS release
|
|
echo -e "${BLUE}Étape 4/5 : Compilation iOS (release)...${NC}"
|
|
echo -e "${YELLOW}Cette étape peut prendre 5-10 minutes...${NC}"
|
|
flutter build ios --release --no-codesign
|
|
if [ $? -eq 0 ]; then
|
|
echo -e "${GREEN}✓ Compilation iOS réussie${NC}"
|
|
else
|
|
echo -e "${RED}✗ Échec de la compilation iOS${NC}"
|
|
echo -e "${YELLOW}Consultez les logs ci-dessus pour plus de détails${NC}"
|
|
exit 1
|
|
fi
|
|
echo ""
|
|
|
|
# Étape 5 : Ouvrir Xcode pour l'archive
|
|
echo -e "${BLUE}Étape 5/5 : Ouverture de Xcode pour l'archive...${NC}"
|
|
echo ""
|
|
echo -e "${YELLOW}L'archive en ligne de commande peut échouer avec les certificats.${NC}"
|
|
echo -e "${YELLOW}Xcode gère mieux la signature automatique.${NC}"
|
|
echo ""
|
|
|
|
# Ouvrir Xcode
|
|
echo -e "${GREEN}Ouverture de Xcode...${NC}"
|
|
open ios/Runner.xcworkspace
|
|
|
|
echo ""
|
|
echo -e "${GREEN}=========================================${NC}"
|
|
echo -e "${GREEN} ✓ BUILD iOS TERMINÉ AVEC SUCCÈS !${NC}"
|
|
echo -e "${GREEN}=========================================${NC}"
|
|
echo ""
|
|
echo -e "${YELLOW}Version :${NC} $VERSION_NAME ($VERSION_CODE)"
|
|
echo ""
|
|
echo -e "${BLUE}📱 PROCHAINES ÉTAPES DANS XCODE :${NC}"
|
|
echo ""
|
|
echo -e " ${GREEN}1.${NC} Attendre que Xcode charge le projet (quelques secondes)"
|
|
echo -e " ${GREEN}2.${NC} Vérifier le Team : ${YELLOW}Runner > Signing & Capabilities > Team = 6WT84NWCTC${NC}"
|
|
echo -e " ${GREEN}3.${NC} Menu : ${YELLOW}Product > Clean Build Folder${NC} (Cmd+Shift+K)"
|
|
echo -e " ${GREEN}4.${NC} Menu : ${YELLOW}Product > Archive${NC}"
|
|
echo -e " ${GREEN}5.${NC} Attendre la fin de l'archive (5-10 minutes)"
|
|
echo -e " ${GREEN}6.${NC} Fenêtre Organizer s'ouvrira automatiquement"
|
|
echo -e " ${GREEN}7.${NC} Clic sur ${YELLOW}Distribute App${NC}"
|
|
echo -e " ${GREEN}8.${NC} Sélectionner ${YELLOW}App Store Connect${NC}"
|
|
echo -e " ${GREEN}9.${NC} Suivre l'assistant d'upload"
|
|
echo ""
|
|
echo -e "${BLUE}💡 CONSEILS :${NC}"
|
|
echo -e " • Si l'archive échoue, vérifier les certificats dans Signing & Capabilities"
|
|
echo -e " • Automatic signing doit être coché"
|
|
echo -e " • Team doit être 6WT84NWCTC (Pierre ROTROU)"
|
|
echo ""
|
|
echo -e "${YELLOW}Xcode est maintenant ouvert et prêt pour l'archive !${NC}"
|
|
echo ""
|