diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index 5a0e7b7..154e62e 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -109,17 +109,12 @@ jobs: PROFILE_UUID=$(/usr/libexec/PlistBuddy -c "Print UUID" /dev/stdin <<< $(/usr/bin/security cms -D -i ~/Library/MobileDevice/Provisioning\ Profiles/distribution.mobileprovision)) echo "🔑 Profile UUID: $PROFILE_UUID" - # Configurer le projet avec xcconfig - cat > build_config.xcconfig < /tmp/prov_name.txt + echo "$TEAM_ID" > /tmp/team_id.txt + echo "$BUNDLE_ID" > /tmp/bundle_id.txt - echo "✅ Configuration créée avec succès" + echo "✅ Configuration des paramètres de signing prête" - name: Créer exportOptions.plist env: @@ -149,62 +144,46 @@ jobs: EOF - - name: Build avec xcodebuild - env: - TEAM_ID: ${{ secrets.IOS_TEAM_ID }} + - name: Build IPA avec Flutter run: | - # Extraire le nom du profil - PROV_NAME=$(/usr/libexec/PlistBuddy -c "Print Name" /dev/stdin <<< $(/usr/bin/security cms -D -i ~/Library/MobileDevice/Provisioning\ Profiles/distribution.mobileprovision)) - echo "📝 Provisioning Profile: $PROV_NAME" + # Récupérer les variables sauvegardées + PROV_NAME=$(cat /tmp/prov_name.txt) + TEAM_ID=$(cat /tmp/team_id.txt) + BUNDLE_ID=$(cat /tmp/bundle_id.txt) - # Clean et build avec Flutter (sans codesign pour éviter les conflits) + echo "📝 Provisioning Profile: $PROV_NAME" + echo "🔑 Team ID: $TEAM_ID" + echo "📦 Bundle ID: $BUNDLE_ID" + + # Clean flutter clean flutter pub get - flutter build ios --release --no-codesign - echo "✅ Flutter build terminé" + echo "🔨 Build de l'IPA avec Flutter..." - # Créer le dossier de sortie - mkdir -p build/ios/ipa + # Flutter build ipa gère automatiquement le signing des Pods + flutter build ipa \ + --release \ + --export-method=ad-hoc \ + --export-options-plist=ios/exportOptions.plist - # Archive avec xcodebuild en appliquant le signing - cd ios - echo "🔨 Création de l'archive Xcode..." + echo "✅ Build terminé" + echo "📂 Recherche de l'IPA..." - xcodebuild -workspace Runner.xcworkspace \ - -scheme Runner \ - -configuration Release \ - -archivePath ../build/ios/Runner.xcarchive \ - -xcconfig build_config.xcconfig \ - archive \ - CODE_SIGN_STYLE=Manual \ - CODE_SIGN_IDENTITY="Apple Distribution" \ - PROVISIONING_PROFILE_SPECIFIER="$PROV_NAME" \ - DEVELOPMENT_TEAM="$TEAM_ID" \ - -allowProvisioningUpdates + # L'IPA devrait être dans build/ios/ipa/ + find build/ios -name "*.ipa" -type f - echo "✅ Archive créée" + IPA_FILE=$(find build/ios/ipa -name "*.ipa" | head -n 1) - # Vérifier que l'archive existe - if [ ! -d "../build/ios/Runner.xcarchive" ]; then - echo "❌ ERREUR: L'archive n'a pas été créée" + if [ -z "$IPA_FILE" ]; then + echo "❌ ERREUR: Aucun fichier IPA trouvé !" + echo "📂 Contenu de build/ios/ :" + ls -R build/ios/ exit 1 fi - echo "📦 Export de l'IPA..." - - # Export en IPA - xcodebuild -exportArchive \ - -archivePath ../build/ios/Runner.xcarchive \ - -exportPath ../build/ios/ipa \ - -exportOptionsPlist exportOptions.plist \ - -allowProvisioningUpdates - - cd .. - - echo "✅ Export terminé" - echo "📂 Contenu du dossier IPA :" - ls -lah build/ios/ipa/ + echo "✅ IPA trouvée : $IPA_FILE" + echo "📊 Taille : $(du -h "$IPA_FILE" | cut -f1)" - name: Vérification et Upload Firebase env: