Compare commits

...

35 Commits

Author SHA1 Message Date
Van Leemput Dayron
4fc7abc5b4 test 36
All checks were successful
Deploy TravelMate (Full Mobile) / deploy-android (push) Successful in 2m16s
Deploy TravelMate (Full Mobile) / deploy-ios (push) Successful in 3m54s
2026-01-11 19:37:53 +01:00
Van Leemput Dayron
e04bf6f405 test 35
Some checks failed
Deploy TravelMate (Full Mobile) / deploy-android (push) Successful in 1m59s
Deploy TravelMate (Full Mobile) / deploy-ios (push) Failing after 28s
2026-01-11 19:34:17 +01:00
Van Leemput Dayron
bed761401f test 34
Some checks failed
Deploy TravelMate (Full Mobile) / deploy-android (push) Successful in 1m57s
Deploy TravelMate (Full Mobile) / deploy-ios (push) Failing after 3m8s
2026-01-11 19:25:16 +01:00
Van Leemput Dayron
55463649b2 test 33
Some checks failed
Deploy TravelMate (Full Mobile) / deploy-android (push) Successful in 1m55s
Deploy TravelMate (Full Mobile) / deploy-ios (push) Failing after 3m14s
2026-01-11 19:15:48 +01:00
Van Leemput Dayron
62d2aa17be test 32
Some checks failed
Deploy TravelMate (Full Mobile) / deploy-android (push) Successful in 2m16s
Deploy TravelMate (Full Mobile) / deploy-ios (push) Failing after 3m2s
2026-01-11 19:08:23 +01:00
Van Leemput Dayron
acfb2259cc test 31
Some checks failed
Deploy TravelMate Final Fix / deploy-all (push) Failing after 1m12s
2026-01-11 00:12:56 +01:00
Van Leemput Dayron
d1d2194861 test 30
Some checks failed
Deploy TravelMate (Full Mobile) / deploy-android (push) Successful in 2m2s
Deploy TravelMate (Full Mobile) / deploy-ios (push) Failing after 3m28s
2026-01-11 00:04:59 +01:00
Van Leemput Dayron
b542f98a91 test 29
Some checks failed
Deploy TravelMate (Android & iOS) / deploy-android (push) Successful in 1m59s
Deploy TravelMate (Android & iOS) / deploy-ios (push) Failing after 3m27s
2026-01-10 23:57:25 +01:00
Van Leemput Dayron
f983b869ba test 28
Some checks failed
Deploy TravelMate (Android & iOS) / deploy-android (push) Successful in 2m19s
Deploy TravelMate (Android & iOS) / deploy-ios (push) Failing after 3m24s
2026-01-10 23:49:53 +01:00
Van Leemput Dayron
ead346bb1b test 27
Some checks failed
Deploy Flutter to Firebase (Mac) / deploy-android (push) Has been cancelled
2026-01-10 23:44:33 +01:00
Van Leemput Dayron
8d27e771a7 test 26
All checks were successful
Deploy Flutter to Firebase (Mac) / deploy-android (push) Successful in 2m18s
2026-01-10 23:40:18 +01:00
Van Leemput Dayron
31fe3a4260 test 25
Some checks failed
Deploy Flutter to Firebase (Mac) / deploy-android (push) Successful in 2m7s
Deploy Flutter to Firebase iOS / deploy-ios (push) Failing after 3m4s
2026-01-10 23:33:36 +01:00
Van Leemput Dayron
a2c6cd1d4f test 24
Some checks failed
Deploy Flutter to Firebase (Mac) / deploy-android (push) Successful in 2m12s
Deploy Flutter to Firebase iOS / deploy-ios (push) Failing after 3m13s
2026-01-10 23:26:05 +01:00
Van Leemput Dayron
5fe9f371b2 test 23
Some checks failed
Deploy Flutter to Firebase (Mac) / deploy-android (push) Successful in 2m0s
Deploy Flutter to Firebase iOS / deploy-ios (push) Failing after 3m7s
2026-01-10 23:19:44 +01:00
Van Leemput Dayron
b27fb7ed4c test 22
Some checks failed
Deploy Flutter to Firebase (Mac) / deploy-android (push) Successful in 2m12s
Deploy Flutter to Firebase iOS / deploy-ios (push) Failing after 3m19s
2026-01-10 23:12:47 +01:00
Van Leemput Dayron
919ef611bc test 21
Some checks failed
Deploy Flutter to Firebase (Mac) / deploy-android (push) Successful in 2m15s
Deploy Flutter to Firebase iOS / deploy-ios (push) Failing after 3m14s
2026-01-10 23:05:59 +01:00
Van Leemput Dayron
3eeed888b5 test 20
Some checks failed
Deploy Flutter to Firebase (Mac) / deploy-android (push) Successful in 2m12s
Deploy Flutter to Firebase iOS / deploy-ios (push) Failing after 3m25s
2026-01-10 22:57:46 +01:00
Van Leemput Dayron
322f611522 test 19
Some checks failed
Deploy Flutter to Firebase (Mac) / deploy-android (push) Successful in 2m21s
Deploy Flutter to Firebase iOS / deploy-ios (push) Failing after 3m21s
2026-01-10 22:50:49 +01:00
Van Leemput Dayron
a7d2634c5f test 18
Some checks failed
Deploy Flutter to Firebase (Mac) / deploy-android (push) Has been cancelled
Deploy Flutter to Firebase iOS (Fixed) / deploy-ios (push) Failing after 2m59s
2026-01-10 22:39:47 +01:00
Van Leemput Dayron
ae125f1144 test 17
Some checks failed
Deploy Flutter to Firebase (Mac) / deploy-android (push) Successful in 2m15s
Deploy Flutter to Firebase iOS (Fixed) / deploy-ios (push) Failing after 47s
2026-01-10 22:31:30 +01:00
Van Leemput Dayron
d66907f636 test 16
Some checks failed
Deploy Flutter to Firebase (Mac) / deploy-android (push) Successful in 2m25s
Deploy Flutter to Firebase iOS (Final) / deploy-ios (push) Failing after 28s
2026-01-10 22:26:24 +01:00
Van Leemput Dayron
508d69a4f4 test 15
Some checks failed
Deploy Flutter to Firebase (Mac) / deploy-android (push) Successful in 2m35s
Deploy Flutter to Firebase iOS (Final & Safe) / deploy-ios (push) Failing after 1m3s
2026-01-10 22:02:09 +01:00
Van Leemput Dayron
ee00415d23 Test 14
Some checks failed
Deploy Flutter to Firebase (Mac) / deploy-android (push) Successful in 2m59s
Deploy Flutter to Firebase iOS (Final & Safe) / deploy-ios (push) Failing after 57s
2026-01-10 21:55:31 +01:00
Van Leemput Dayron
576b86fbbb Test 13
Some checks failed
Deploy Flutter to Firebase (Mac) / deploy-android (push) Successful in 3m12s
Deploy Flutter to Firebase iOS (Safe Mode) / deploy-ios (push) Failing after 1m1s
2026-01-10 21:46:59 +01:00
Van Leemput Dayron
918742293b test 12 2026-01-10 21:38:04 +01:00
Van Leemput Dayron
19c06c71f8 test 11
Some checks failed
Deploy Flutter to Firebase (Mac) / deploy-android (push) Successful in 2m42s
Deploy Flutter to Firebase iOS / deploy-ios (push) Failing after 1m11s
2026-01-10 21:30:24 +01:00
Van Leemput Dayron
3e5f3a7ece test 10
Some checks failed
Deploy Flutter to Firebase (Mac) / deploy-android (push) Successful in 2m24s
Deploy Flutter to Firebase iOS / deploy-ios (push) Failing after 1m12s
2026-01-10 21:24:58 +01:00
Van Leemput Dayron
12fdd6da62 test 9
Some checks failed
Deploy Flutter to Firebase (Mac) / deploy-android (push) Successful in 2m20s
Deploy Flutter to Firebase iOS / deploy-ios (push) Failing after 45s
2026-01-10 21:20:16 +01:00
Van Leemput Dayron
15a7319239 test 8
Some checks failed
Deploy Flutter to Firebase (Mac) / deploy-android (push) Successful in 2m23s
Deploy Flutter to Firebase iOS / deploy-ios (push) Failing after 44s
2026-01-10 21:13:42 +01:00
Van Leemput Dayron
911fb86611 test 7
Some checks failed
Deploy Flutter to Firebase (Mac) / deploy-android (push) Successful in 2m21s
Deploy Flutter to Firebase iOS / deploy-ios (push) Failing after 48s
2026-01-10 21:08:13 +01:00
Van Leemput Dayron
8b4c66ba0d Test 6
Some checks failed
Deploy Flutter to Firebase (Mac) / deploy-android (push) Successful in 2m25s
Deploy Flutter to Firebase iOS / deploy-ios (push) Failing after 42s
2026-01-10 21:03:07 +01:00
Van Leemput Dayron
1352dc49cc Test 5
Some checks failed
Deploy Flutter to Firebase iOS / deploy-ios (push) Has been cancelled
Deploy Flutter to Firebase (Mac) / deploy-android (push) Has been cancelled
2026-01-10 20:51:13 +01:00
Van Leemput Dayron
51ffe2031d test 4
Some checks failed
Deploy Flutter to Firebase (Mac) / deploy-android (push) Successful in 2m36s
Deploy Flutter to Firebase iOS / deploy-ios (push) Failing after 47s
2026-01-10 20:23:02 +01:00
Van Leemput Dayron
c70ed9c504 test 3
Some checks failed
Deploy Flutter to Firebase iOS / deploy-ios (push) Failing after 13s
Deploy Flutter to Firebase (Mac) / deploy-android (push) Successful in 2m52s
2026-01-10 20:17:54 +01:00
Van Leemput Dayron
67d798f590 Test 2 ios
Some checks failed
Deploy Flutter to Firebase (Mac) / deploy-android (push) Successful in 2m36s
Deploy Flutter to Firebase iOS / deploy-ios (push) Has been cancelled
2026-01-10 19:56:46 +01:00
6 changed files with 382 additions and 240 deletions

View File

@@ -1,88 +0,0 @@
name: Deploy Flutter to Firebase (Mac)
on:
push:
branches: release
jobs:
deploy-android:
runs-on: macos-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Vérifier l'installation Flutter
run: flutter doctor -v
- name: Installer les dépendances Flutter
run: flutter pub get
- name: Créer les fichiers secrets
run: |
echo "${{ secrets.ENV_FILE }}" > .env
printf '%s' '${{ secrets.FIREBASE_CREDENTIALS }}' > ./android/firebase_credentials.json
- name: Lancer Fastlane (Force APK)
working-directory: ./android
env:
ANDROID_KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }}
RAW_PROPERTIES: ${{ secrets.ANDROID_KEY_PROPERTIES }}
FIREBASE_ANDROID_APP_ID: ${{ secrets.FIREBASE_ANDROID_APP_ID }}
run: |
# 1. Config Ruby
export PATH="/opt/homebrew/opt/ruby/bin:$PATH"
export GEM_HOME=$PWD/vendor/bundle
export GEM_PATH=$PWD/vendor/bundle
export PATH=$GEM_HOME/bin:$PATH
# 2. Keystore & Properties
echo "$ANDROID_KEYSTORE_BASE64" | base64 -D > keystore.jks
KEYSTORE_PATH=$(pwd)/keystore.jks
echo "$RAW_PROPERTIES" > temp_props.txt
STORE_PASS=$(grep "storePassword" temp_props.txt | cut -d'=' -f2 | tr -d '\r')
KEY_PASS=$(grep "keyPassword" temp_props.txt | cut -d'=' -f2 | tr -d '\r')
KEY_ALIAS=$(grep "keyAlias" temp_props.txt | cut -d'=' -f2 | tr -d '\r')
echo "storePassword=$STORE_PASS" > key.properties
echo "keyPassword=$KEY_PASS" >> key.properties
echo "keyAlias=$KEY_ALIAS" >> key.properties
echo "storeFile=$KEYSTORE_PATH" >> key.properties
# 3. Installation Dépendances
rm -rf vendor Gemfile.lock .bundle
echo "source 'https://rubygems.org'" > Gemfile
echo "gem 'fastlane', '>= 2.210.0'" >> Gemfile
echo "gem 'fastlane-plugin-firebase_app_distribution'" >> Gemfile
# Patchs Ruby 3.4
echo "gem 'abbrev'" >> Gemfile
echo "gem 'ostruct'" >> Gemfile
echo "gem 'mutex_m'" >> Gemfile
echo "gem 'base64'" >> Gemfile
echo "gem 'csv'" >> Gemfile
echo "gem 'bigdecimal'" >> Gemfile
echo "gem 'drb'" >> Gemfile
echo "gem 'nkf'" >> Gemfile
echo "⬇️ Installation..."
gem install bundler -v 2.7.2 --force --no-document
bundle _2.7.2_ update --jobs 4
# 4. CONSTRUCTION ET ENVOI MANUEL EN APK 🗝️
# On remonte à la racine pour lancer Flutter
cd ..
echo "🚧 Construction de l'APK (Format compatible sans Play Store)..."
# C'est cette commande qui change tout : APK au lieu de AppBundle
flutter build apk --release
# On redescend dans le dossier android pour lancer fastlane
cd android
echo "🚀 Envoi de l'APK vers Firebase..."
# On pointe vers le fichier APK généré
bundle _2.7.2_ exec fastlane run firebase_app_distribution \
app:"$FIREBASE_ANDROID_APP_ID" \
android_artifact_path:"../build/app/outputs/flutter-apk/app-release.apk" \
service_credentials_file:"firebase_credentials.json" \
release_notes:"Build APK via Act - Test"

View File

@@ -1,85 +0,0 @@
name: Deploy Flutter to Firebase iOS (Mac)
on:
push:
branches: release
jobs:
deploy-ios:
runs-on: macos-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Configurer Xcode
# Optionnel : force une version spécifique si besoin
run: sudo xcode-select -s /Applications/Xcode_15.2.app
- name: Installer les dépendances Flutter & Cocoapods
run: |
flutter pub get
cd ios
pod install --repo-update
cd ..
- name: Créer les fichiers secrets
run: |
echo "${{ secrets.ENV_FILE }}" > .env
printf '%s' '${{ secrets.FIREBASE_CREDENTIALS }}' > ./ios/firebase_credentials.json
- name: Préparer le Code Signing (Certificats)
env:
P12_CERTIFICATE_BASE64: ${{ secrets.IOS_P12_BASE64 }}
P12_PASSWORD: ${{ secrets.IOS_P12_PASSWORD }}
PROVISIONING_PROFILE_BASE64: ${{ secrets.IOS_PROVISION_BASE64 }}
KEYCHAIN_PASSWORD: "temporary_password"
run: |
# 1. Créer un Keychain temporaire
security create-keychain -p "$KEYCHAIN_PASSWORD" build.keychain
security default-keychain -s build.keychain
security unlock-keychain -p "$KEYCHAIN_PASSWORD" build.keychain
security set-keychain-settings -t 3600 -u build.keychain
# 2. Importer le certificat .p12
echo "$P12_CERTIFICATE_BASE64" | base64 -D -o certificate.p12
security import certificate.p12 -k build.keychain -P "$P12_PASSWORD" -T /usr/bin/codesign
security set-key-partition-list -S apple-tool:,apple: -s -k "$KEYCHAIN_PASSWORD" build.keychain
# 3. Importer le Profil de Provisionnement
mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles
echo "$PROVISIONING_PROFILE_BASE64" | base64 -D -o ~/Library/MobileDevice/Provisioning\ Profiles/distribution.mobileprovision
- name: Lancer Fastlane & Build IPA
working-directory: ./ios
env:
FIREBASE_IOS_APP_ID: ${{ secrets.FIREBASE_IOS_APP_ID }}
run: |
# 1. Config Ruby (Identique à ton script Android)
export PATH="/opt/homebrew/opt/ruby/bin:$PATH"
export GEM_HOME=$PWD/vendor/bundle
export GEM_PATH=$PWD/vendor/bundle
export PATH=$GEM_HOME/bin:$PATH
# 2. Installation Fastlane
rm -rf vendor Gemfile.lock .bundle
echo "source 'https://rubygems.org'" > Gemfile
echo "gem 'fastlane', '>= 2.210.0'" >> Gemfile
echo "gem 'fastlane-plugin-firebase_app_distribution'" >> Gemfile
echo "gem 'base64'" >> Gemfile
bundle install --path vendor/bundle
# 3. Construction de l'IPA via Flutter
cd ..
# On génère l'IPA. Flutter s'occupe de trouver le certificat dans le keychain
flutter build ipa --release --export-method ad-hoc
cd ios
# 4. Envoi vers Firebase
echo "🚀 Envoi de l'IPA vers Firebase..."
bundle exec fastlane run firebase_app_distribution \
app:"$FIREBASE_IOS_APP_ID" \
ipa_path:"../build/ios/ipa/*.ipa" \
service_credentials_file:"firebase_credentials.json" \
release_notes:"Build iOS via Act"

View File

@@ -0,0 +1,226 @@
name: Deploy TravelMate (Full Mobile)
on:
push:
branches:
- release
jobs:
# --- JOB 1 : ANDROID (Génération APK) ---
deploy-android:
runs-on: macos-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Configuration Flutter & Secrets
run: |
flutter pub get
echo "${{ secrets.ENV_FILE }}" > .env
printf '%s' '${{ secrets.FIREBASE_CREDENTIALS }}' > ./android/firebase_credentials.json
- name: Build & Deploy Android
working-directory: ./android
env:
ANDROID_KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }}
RAW_PROPERTIES: ${{ secrets.ANDROID_KEY_PROPERTIES }}
FIREBASE_ANDROID_APP_ID: ${{ secrets.FIREBASE_ANDROID_APP_ID }}
run: |
# 1. Keystore
echo "$ANDROID_KEYSTORE_BASE64" | base64 -D > keystore.jks
echo "$RAW_PROPERTIES" > temp_props.txt
echo "storePassword=$(grep 'storePassword' temp_props.txt | cut -d'=' -f2 | tr -d '\r')" > key.properties
echo "keyPassword=$(grep 'keyPassword' temp_props.txt | cut -d'=' -f2 | tr -d '\r')" >> key.properties
echo "keyAlias=$(grep 'keyAlias' temp_props.txt | cut -d'=' -f2 | tr -d '\r')" >> key.properties
echo "storeFile=$(pwd)/keystore.jks" >> key.properties
# 2. Gemfile (Correctifs Ruby 3.4 inclus)
echo "source 'https://rubygems.org'" > Gemfile
echo "gem 'fastlane', '>= 2.230.0'" >> Gemfile
echo "gem 'fastlane-plugin-firebase_app_distribution'" >> Gemfile
for g in abbrev ostruct mutex_m base64 csv bigdecimal drb nkf reline logger; do echo "gem '$g'" >> Gemfile; done
gem install bundler -v 2.7.2 --no-document
bundle _2.7.2_ update
# 3. Build & Envoi
cd .. && flutter build apk --release && cd android
bundle _2.7.2_ exec fastlane run firebase_app_distribution \
app:"$FIREBASE_ANDROID_APP_ID" \
android_artifact_path:"../build/app/outputs/flutter-apk/app-release.apk" \
service_credentials_file:"firebase_credentials.json"
# --- JOB 2 : IOS (Génération IPA) ---
deploy-ios:
runs-on: macos-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Dépendances iOS & Secrets
run: |
flutter pub get
echo "${{ secrets.ENV_FILE }}" > .env
printf '%s' '${{ secrets.FIREBASE_CREDENTIALS }}' > ./ios/firebase_credentials.json
cd ios && (pod install --repo-update || pod update)
- name: Préparer le Code Signing
env:
P12_BASE: ${{ secrets.IOS_P12_BASE64 }}
P12_PASS: ${{ secrets.IOS_P12_PASSWORD }}
PROV_BASE: ${{ secrets.IOS_PROVISION_BASE64 }}
TEAM_ID: ${{ secrets.IOS_TEAM_ID }}
run: |
# Créer et configurer le keychain
security delete-keychain build.keychain || true
security create-keychain -p "" build.keychain
security unlock-keychain -p "" build.keychain
security list-keychains -d user -s build.keychain $(security list-keychains -d user | xargs)
security set-keychain-settings -lut 21600 build.keychain
# Importer le certificat
echo "$P12_BASE" | base64 -D -o cert.p12
security import cert.p12 -k build.keychain -P "$P12_PASS" -T /usr/bin/codesign
security set-key-partition-list -S apple-tool:,apple: -s -k "" build.keychain
# Installer le profil de provisioning
mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles
PROFILE_PATH=~/Library/MobileDevice/Provisioning\ Profiles/distribution.mobileprovision
echo "$PROV_BASE" | base64 -D -o "$PROFILE_PATH"
# Extraire l'UUID du profil
PROFILE_UUID=$(/usr/libexec/PlistBuddy -c "Print UUID" /dev/stdin <<< $(/usr/bin/security cms -D -i "$PROFILE_PATH"))
echo "Profile UUID: $PROFILE_UUID"
# Copier avec l'UUID correct
cp "$PROFILE_PATH" ~/Library/MobileDevice/Provisioning\ Profiles/$PROFILE_UUID.mobileprovision
- name: Configurer le projet Xcode
env:
TEAM_ID: ${{ secrets.IOS_TEAM_ID }}
BUNDLE_ID: ${{ secrets.IOS_BUNDLE_ID }}
run: |
cd ios
# Extraire le nom du profil de provisioning
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 Name: $PROV_NAME"
# Obtenir l'UUID du profil
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"
# Sauvegarder les variables pour la prochaine étape
echo "$PROV_NAME" > /tmp/prov_name.txt
echo "$TEAM_ID" > /tmp/team_id.txt
echo "$BUNDLE_ID" > /tmp/bundle_id.txt
echo "✅ Configuration des paramètres de signing prête"
- name: Créer exportOptions.plist
env:
TEAM_ID: ${{ secrets.IOS_TEAM_ID }}
BUNDLE_ID: ${{ secrets.IOS_BUNDLE_ID }}
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))
cat > ios/exportOptions.plist <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>method</key>
<string>ad-hoc</string>
<key>teamID</key>
<string>$TEAM_ID</string>
<key>signingStyle</key>
<string>manual</string>
<key>provisioningProfiles</key>
<dict>
<key>$BUNDLE_ID</key>
<string>$PROV_NAME</string>
</dict>
</dict>
</plist>
EOF
- name: Build IPA avec Flutter
run: |
# 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)
echo "📝 Provisioning Profile: $PROV_NAME"
echo "🔑 Team ID: $TEAM_ID"
echo "📦 Bundle ID: $BUNDLE_ID"
# Clean
flutter clean
flutter pub get
echo "🔨 Build de l'IPA avec Flutter..."
# Flutter build ipa gère automatiquement le signing des Pods
# On utilise SEULEMENT --export-options-plist (pas --export-method)
flutter build ipa \
--release \
--export-options-plist=ios/exportOptions.plist
echo "✅ Build terminé"
echo "📂 Recherche de l'IPA..."
# L'IPA devrait être dans build/ios/ipa/
find build/ios -name "*.ipa" -type f
IPA_FILE=$(find build/ios/ipa -name "*.ipa" | head -n 1)
if [ -z "$IPA_FILE" ]; then
echo "❌ ERREUR: Aucun fichier IPA trouvé !"
echo "📂 Contenu de build/ios/ :"
ls -R build/ios/
exit 1
fi
echo "✅ IPA trouvée : $IPA_FILE"
echo "📊 Taille : $(du -h "$IPA_FILE" | cut -f1)"
- name: Vérification et Upload Firebase
env:
FIREBASE_IOS_APP_ID: ${{ secrets.FIREBASE_IOS_APP_ID }}
run: |
cd ios
# Configuration Fastlane
echo "source 'https://rubygems.org'" > Gemfile
echo "gem 'fastlane', '>= 2.230.0'" >> Gemfile
echo "gem 'fastlane-plugin-firebase_app_distribution'" >> Gemfile
for g in abbrev ostruct mutex_m base64 csv bigdecimal drb nkf reline logger; do echo "gem '$g'" >> Gemfile; done
gem install bundler -v 2.7.2 --no-document
bundle _2.7.2_ update
# Recherche de l'IPA
IPA_FILE=$(find ../build/ios/ipa -name "*.ipa" | head -n 1)
if [ -z "$IPA_FILE" ]; then
echo "❌ ERREUR : Aucun fichier IPA trouvé !"
echo "📂 Structure complète du dossier build :"
ls -R ../build/
exit 1
fi
echo "✅ IPA trouvée : $IPA_FILE"
echo "📊 Taille : $(du -h "$IPA_FILE" | cut -f1)"
# Upload vers Firebase
bundle _2.7.2_ exec fastlane run firebase_app_distribution \
app:"$FIREBASE_IOS_APP_ID" \
ipa_path:"$IPA_FILE" \
service_credentials_file:"firebase_credentials.json"
- name: Nettoyage Final
if: always()
run: |
security list-keychains -d user -s login.keychain
security delete-keychain build.keychain || true

View File

@@ -1205,63 +1205,85 @@ PODS:
- BoringSSL-GRPC/Interface (= 0.0.37) - BoringSSL-GRPC/Interface (= 0.0.37)
- BoringSSL-GRPC/Interface (0.0.37) - BoringSSL-GRPC/Interface (0.0.37)
- cloud_firestore (6.0.3): - cloud_firestore (6.0.3):
- Firebase/Firestore (= 12.4.0) - Firebase/Firestore (= 12.6.0)
- firebase_core - firebase_core
- Flutter - Flutter
- Firebase/Auth (12.4.0): - Firebase/Auth (12.6.0):
- Firebase/CoreOnly - Firebase/CoreOnly
- FirebaseAuth (~> 12.4.0) - FirebaseAuth (~> 12.6.0)
- Firebase/CoreOnly (12.4.0): - Firebase/CoreOnly (12.6.0):
- FirebaseCore (~> 12.4.0) - FirebaseCore (~> 12.6.0)
- Firebase/Firestore (12.4.0): - Firebase/Firestore (12.6.0):
- Firebase/CoreOnly - Firebase/CoreOnly
- FirebaseFirestore (~> 12.4.0) - FirebaseFirestore (~> 12.6.0)
- Firebase/Messaging (12.4.0): - Firebase/Messaging (12.6.0):
- Firebase/CoreOnly - Firebase/CoreOnly
- FirebaseMessaging (~> 12.4.0) - FirebaseMessaging (~> 12.6.0)
- Firebase/Storage (12.4.0): - Firebase/Storage (12.6.0):
- Firebase/CoreOnly - Firebase/CoreOnly
- FirebaseStorage (~> 12.4.0) - FirebaseStorage (~> 12.6.0)
- firebase_analytics (12.1.0):
- firebase_core
- FirebaseAnalytics (= 12.6.0)
- Flutter
- firebase_auth (6.1.1): - firebase_auth (6.1.1):
- Firebase/Auth (= 12.4.0) - Firebase/Auth (= 12.6.0)
- firebase_core - firebase_core
- Flutter - Flutter
- firebase_core (4.2.1): - firebase_core (4.3.0):
- Firebase/CoreOnly (= 12.4.0) - Firebase/CoreOnly (= 12.6.0)
- Flutter - Flutter
- firebase_messaging (16.0.4): - firebase_messaging (16.0.4):
- Firebase/Messaging (= 12.4.0) - Firebase/Messaging (= 12.6.0)
- firebase_core - firebase_core
- Flutter - Flutter
- firebase_storage (13.0.3): - firebase_storage (13.0.3):
- Firebase/Storage (= 12.4.0) - Firebase/Storage (= 12.6.0)
- firebase_core - firebase_core
- Flutter - Flutter
- FirebaseAppCheckInterop (12.4.0) - FirebaseAnalytics (12.6.0):
- FirebaseAuth (12.4.0): - FirebaseAnalytics/Default (= 12.6.0)
- FirebaseAppCheckInterop (~> 12.4.0) - FirebaseCore (~> 12.6.0)
- FirebaseAuthInterop (~> 12.4.0) - FirebaseInstallations (~> 12.6.0)
- FirebaseCore (~> 12.4.0) - GoogleUtilities/AppDelegateSwizzler (~> 8.1)
- FirebaseCoreExtension (~> 12.4.0) - GoogleUtilities/MethodSwizzler (~> 8.1)
- GoogleUtilities/Network (~> 8.1)
- "GoogleUtilities/NSData+zlib (~> 8.1)"
- nanopb (~> 3.30910.0)
- FirebaseAnalytics/Default (12.6.0):
- FirebaseCore (~> 12.6.0)
- FirebaseInstallations (~> 12.6.0)
- GoogleAppMeasurement/Default (= 12.6.0)
- GoogleUtilities/AppDelegateSwizzler (~> 8.1)
- GoogleUtilities/MethodSwizzler (~> 8.1)
- GoogleUtilities/Network (~> 8.1)
- "GoogleUtilities/NSData+zlib (~> 8.1)"
- nanopb (~> 3.30910.0)
- FirebaseAppCheckInterop (12.6.0)
- FirebaseAuth (12.6.0):
- FirebaseAppCheckInterop (~> 12.6.0)
- FirebaseAuthInterop (~> 12.6.0)
- FirebaseCore (~> 12.6.0)
- FirebaseCoreExtension (~> 12.6.0)
- GoogleUtilities/AppDelegateSwizzler (~> 8.1) - GoogleUtilities/AppDelegateSwizzler (~> 8.1)
- GoogleUtilities/Environment (~> 8.1) - GoogleUtilities/Environment (~> 8.1)
- GTMSessionFetcher/Core (< 6.0, >= 3.4) - GTMSessionFetcher/Core (< 6.0, >= 3.4)
- RecaptchaInterop (~> 101.0) - RecaptchaInterop (~> 101.0)
- FirebaseAuthInterop (12.4.0) - FirebaseAuthInterop (12.6.0)
- FirebaseCore (12.4.0): - FirebaseCore (12.6.0):
- FirebaseCoreInternal (~> 12.4.0) - FirebaseCoreInternal (~> 12.6.0)
- GoogleUtilities/Environment (~> 8.1) - GoogleUtilities/Environment (~> 8.1)
- GoogleUtilities/Logger (~> 8.1) - GoogleUtilities/Logger (~> 8.1)
- FirebaseCoreExtension (12.4.0): - FirebaseCoreExtension (12.6.0):
- FirebaseCore (~> 12.4.0) - FirebaseCore (~> 12.6.0)
- FirebaseCoreInternal (12.4.0): - FirebaseCoreInternal (12.6.0):
- "GoogleUtilities/NSData+zlib (~> 8.1)" - "GoogleUtilities/NSData+zlib (~> 8.1)"
- FirebaseFirestore (12.4.0): - FirebaseFirestore (12.6.0):
- FirebaseCore (~> 12.4.0) - FirebaseCore (~> 12.6.0)
- FirebaseCoreExtension (~> 12.4.0) - FirebaseCoreExtension (~> 12.6.0)
- FirebaseFirestoreInternal (~> 12.4.0) - FirebaseFirestoreInternal (~> 12.6.0)
- FirebaseSharedSwift (~> 12.4.0) - FirebaseSharedSwift (~> 12.6.0)
- FirebaseFirestoreInternal (12.4.0): - FirebaseFirestoreInternal (12.6.0):
- abseil/algorithm (~> 1.20240722.0) - abseil/algorithm (~> 1.20240722.0)
- abseil/base (~> 1.20240722.0) - abseil/base (~> 1.20240722.0)
- abseil/container/flat_hash_map (~> 1.20240722.0) - abseil/container/flat_hash_map (~> 1.20240722.0)
@@ -1270,32 +1292,32 @@ PODS:
- abseil/strings/strings (~> 1.20240722.0) - abseil/strings/strings (~> 1.20240722.0)
- abseil/time (~> 1.20240722.0) - abseil/time (~> 1.20240722.0)
- abseil/types (~> 1.20240722.0) - abseil/types (~> 1.20240722.0)
- FirebaseAppCheckInterop (~> 12.4.0) - FirebaseAppCheckInterop (~> 12.6.0)
- FirebaseCore (~> 12.4.0) - FirebaseCore (~> 12.6.0)
- "gRPC-C++ (~> 1.69.0)" - "gRPC-C++ (~> 1.69.0)"
- gRPC-Core (~> 1.69.0) - gRPC-Core (~> 1.69.0)
- leveldb-library (~> 1.22) - leveldb-library (~> 1.22)
- nanopb (~> 3.30910.0) - nanopb (~> 3.30910.0)
- FirebaseInstallations (12.4.0): - FirebaseInstallations (12.6.0):
- FirebaseCore (~> 12.4.0) - FirebaseCore (~> 12.6.0)
- GoogleUtilities/Environment (~> 8.1) - GoogleUtilities/Environment (~> 8.1)
- GoogleUtilities/UserDefaults (~> 8.1) - GoogleUtilities/UserDefaults (~> 8.1)
- PromisesObjC (~> 2.4) - PromisesObjC (~> 2.4)
- FirebaseMessaging (12.4.0): - FirebaseMessaging (12.6.0):
- FirebaseCore (~> 12.4.0) - FirebaseCore (~> 12.6.0)
- FirebaseInstallations (~> 12.4.0) - FirebaseInstallations (~> 12.6.0)
- GoogleDataTransport (~> 10.1) - GoogleDataTransport (~> 10.1)
- GoogleUtilities/AppDelegateSwizzler (~> 8.1) - GoogleUtilities/AppDelegateSwizzler (~> 8.1)
- GoogleUtilities/Environment (~> 8.1) - GoogleUtilities/Environment (~> 8.1)
- GoogleUtilities/Reachability (~> 8.1) - GoogleUtilities/Reachability (~> 8.1)
- GoogleUtilities/UserDefaults (~> 8.1) - GoogleUtilities/UserDefaults (~> 8.1)
- nanopb (~> 3.30910.0) - nanopb (~> 3.30910.0)
- FirebaseSharedSwift (12.4.0) - FirebaseSharedSwift (12.6.0)
- FirebaseStorage (12.4.0): - FirebaseStorage (12.6.0):
- FirebaseAppCheckInterop (~> 12.4.0) - FirebaseAppCheckInterop (~> 12.6.0)
- FirebaseAuthInterop (~> 12.4.0) - FirebaseAuthInterop (~> 12.6.0)
- FirebaseCore (~> 12.4.0) - FirebaseCore (~> 12.6.0)
- FirebaseCoreExtension (~> 12.4.0) - FirebaseCoreExtension (~> 12.6.0)
- GoogleUtilities/Environment (~> 8.1) - GoogleUtilities/Environment (~> 8.1)
- GTMSessionFetcher/Core (< 6.0, >= 3.4) - GTMSessionFetcher/Core (< 6.0, >= 3.4)
- Flutter (1.0.0) - Flutter (1.0.0)
@@ -1315,13 +1337,40 @@ PODS:
- FlutterMacOS - FlutterMacOS
- GoogleSignIn (~> 9.0) - GoogleSignIn (~> 9.0)
- GTMSessionFetcher (>= 3.4.0) - GTMSessionFetcher (>= 3.4.0)
- GoogleAdsOnDeviceConversion (3.2.0):
- GoogleUtilities/Environment (~> 8.1)
- GoogleUtilities/Logger (~> 8.1)
- GoogleUtilities/Network (~> 8.1)
- nanopb (~> 3.30910.0)
- GoogleAppMeasurement/Core (12.6.0):
- GoogleUtilities/AppDelegateSwizzler (~> 8.1)
- GoogleUtilities/MethodSwizzler (~> 8.1)
- GoogleUtilities/Network (~> 8.1)
- "GoogleUtilities/NSData+zlib (~> 8.1)"
- nanopb (~> 3.30910.0)
- GoogleAppMeasurement/Default (12.6.0):
- GoogleAdsOnDeviceConversion (~> 3.2.0)
- GoogleAppMeasurement/Core (= 12.6.0)
- GoogleAppMeasurement/IdentitySupport (= 12.6.0)
- GoogleUtilities/AppDelegateSwizzler (~> 8.1)
- GoogleUtilities/MethodSwizzler (~> 8.1)
- GoogleUtilities/Network (~> 8.1)
- "GoogleUtilities/NSData+zlib (~> 8.1)"
- nanopb (~> 3.30910.0)
- GoogleAppMeasurement/IdentitySupport (12.6.0):
- GoogleAppMeasurement/Core (= 12.6.0)
- GoogleUtilities/AppDelegateSwizzler (~> 8.1)
- GoogleUtilities/MethodSwizzler (~> 8.1)
- GoogleUtilities/Network (~> 8.1)
- "GoogleUtilities/NSData+zlib (~> 8.1)"
- nanopb (~> 3.30910.0)
- GoogleDataTransport (10.1.0): - GoogleDataTransport (10.1.0):
- nanopb (~> 3.30910.0) - nanopb (~> 3.30910.0)
- PromisesObjC (~> 2.4) - PromisesObjC (~> 2.4)
- GoogleMaps (9.4.0): - GoogleMaps (9.4.0):
- GoogleMaps/Maps (= 9.4.0) - GoogleMaps/Maps (= 9.4.0)
- GoogleMaps/Maps (9.4.0) - GoogleMaps/Maps (9.4.0)
- GoogleSignIn (9.0.0): - GoogleSignIn (9.1.0):
- AppAuth (~> 2.0) - AppAuth (~> 2.0)
- AppCheckCore (~> 11.0) - AppCheckCore (~> 11.0)
- GTMAppAuth (~> 5.0) - GTMAppAuth (~> 5.0)
@@ -1336,6 +1385,9 @@ PODS:
- GoogleUtilities/Logger (8.1.0): - GoogleUtilities/Logger (8.1.0):
- GoogleUtilities/Environment - GoogleUtilities/Environment
- GoogleUtilities/Privacy - GoogleUtilities/Privacy
- GoogleUtilities/MethodSwizzler (8.1.0):
- GoogleUtilities/Logger
- GoogleUtilities/Privacy
- GoogleUtilities/Network (8.1.0): - GoogleUtilities/Network (8.1.0):
- GoogleUtilities/Logger - GoogleUtilities/Logger
- "GoogleUtilities/NSData+zlib" - "GoogleUtilities/NSData+zlib"
@@ -1480,6 +1532,7 @@ PODS:
DEPENDENCIES: DEPENDENCIES:
- cloud_firestore (from `.symlinks/plugins/cloud_firestore/ios`) - cloud_firestore (from `.symlinks/plugins/cloud_firestore/ios`)
- firebase_analytics (from `.symlinks/plugins/firebase_analytics/ios`)
- firebase_auth (from `.symlinks/plugins/firebase_auth/ios`) - firebase_auth (from `.symlinks/plugins/firebase_auth/ios`)
- firebase_core (from `.symlinks/plugins/firebase_core/ios`) - firebase_core (from `.symlinks/plugins/firebase_core/ios`)
- firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`) - firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`)
@@ -1505,6 +1558,7 @@ SPEC REPOS:
- AppCheckCore - AppCheckCore
- BoringSSL-GRPC - BoringSSL-GRPC
- Firebase - Firebase
- FirebaseAnalytics
- FirebaseAppCheckInterop - FirebaseAppCheckInterop
- FirebaseAuth - FirebaseAuth
- FirebaseAuthInterop - FirebaseAuthInterop
@@ -1518,6 +1572,8 @@ SPEC REPOS:
- FirebaseSharedSwift - FirebaseSharedSwift
- FirebaseStorage - FirebaseStorage
- Google-Maps-iOS-Utils - Google-Maps-iOS-Utils
- GoogleAdsOnDeviceConversion
- GoogleAppMeasurement
- GoogleDataTransport - GoogleDataTransport
- GoogleMaps - GoogleMaps
- GoogleSignIn - GoogleSignIn
@@ -1534,6 +1590,8 @@ SPEC REPOS:
EXTERNAL SOURCES: EXTERNAL SOURCES:
cloud_firestore: cloud_firestore:
:path: ".symlinks/plugins/cloud_firestore/ios" :path: ".symlinks/plugins/cloud_firestore/ios"
firebase_analytics:
:path: ".symlinks/plugins/firebase_analytics/ios"
firebase_auth: firebase_auth:
:path: ".symlinks/plugins/firebase_auth/ios" :path: ".symlinks/plugins/firebase_auth/ios"
firebase_core: firebase_core:
@@ -1574,33 +1632,37 @@ SPEC CHECKSUMS:
AppAuth: 1c1a8afa7e12f2ec3a294d9882dfa5ab7d3cb063 AppAuth: 1c1a8afa7e12f2ec3a294d9882dfa5ab7d3cb063
AppCheckCore: cc8fd0a3a230ddd401f326489c99990b013f0c4f AppCheckCore: cc8fd0a3a230ddd401f326489c99990b013f0c4f
BoringSSL-GRPC: dded2a44897e45f28f08ae87a55ee4bcd19bc508 BoringSSL-GRPC: dded2a44897e45f28f08ae87a55ee4bcd19bc508
cloud_firestore: 79014bb3b303d451717ed5fe69fded8a2b2e8dc2 cloud_firestore: d7598ff2b1b2064e810f839dbdde2765c0f2052a
Firebase: f07b15ae5a6ec0f93713e30b923d9970d144af3e Firebase: a451a7b61536298fd5cbfe3a746fd40443a50679
firebase_auth: c2b8be95d602d4e8a9148fae72333ef78e69cc20 firebase_analytics: 4f9cca09e65f6c2944a862c6dc86f6bed9fb769c
firebase_core: f1aafb21c14f497e5498f7ffc4dc63cbb52b2594 firebase_auth: cfb7237c0d01e87360cb3bf61e02a417c36e19e8
firebase_messaging: c17a29984eafce4b2997fe078bb0a9e0b06f5dde firebase_core: ba00a168e719694f38960502ceb560285603d073
firebase_storage: 0ba617a05b24aec050395e4d5d3773c0d7518a15 firebase_messaging: 752f1df5294ead9d72091d4974362d00d4aec201
FirebaseAppCheckInterop: f734c802f21fe1da0837708f0f9a27218c8a4ed0 firebase_storage: 5716627614e95c75e243134f65c1b0d6f66a4315
FirebaseAuth: 4a2aed737c84114a9d9b33d11ae1b147d6b94889 FirebaseAnalytics: d0a97a0db6425e5a5d966340b87f92ca7b13a557
FirebaseAuthInterop: 858e6b754966e70740a4370dd1503dfffe6dbb49 FirebaseAppCheckInterop: e2178171b4145013c7c1a3cc464d1d446d3a1896
FirebaseCore: bb595f3114953664e3c1dc032f008a244147cfd3 FirebaseAuth: 613c463cb43545a7fd2cd99ade09b78ac472c544
FirebaseCoreExtension: 7e1f7118ee970e001a8013719fb90950ee5e0018 FirebaseAuthInterop: db06756ef028006d034b6004dc0c37c24f7828d4
FirebaseCoreInternal: d7f5a043c2cd01a08103ab586587c1468047bca6 FirebaseCore: 0e38ad5d62d980a47a64b8e9301ffa311457be04
FirebaseFirestore: 2a6183381cf7679b1bb000eb76a8e3178e25dee2 FirebaseCoreExtension: 032fd6f8509e591fda8cb76f6651f20d926b121f
FirebaseFirestoreInternal: 6577a27cd5dc3722b900042527f86d4ea1626134 FirebaseCoreInternal: 69bf1306a05b8ac43004f6cc1f804bb7b05b229e
FirebaseInstallations: ae9f4902cb5bf1d0c5eaa31ec1f4e5495a0714e2 FirebaseFirestore: 51ce079b9ddcaa481644164eda649d362c2a6396
FirebaseMessaging: d33971b7bb252745ea6cd31ab190d1a1df4b8ed5 FirebaseFirestoreInternal: 8b1d2b0a1b859b2ddbd63f448c416c5be7367405
FirebaseSharedSwift: 93426a1de92f19e1199fac5295a4f8df16458daa FirebaseInstallations: 631b38da2e11a83daa4bfb482f79d286a5dfa7ad
FirebaseStorage: 20d6b56fb8a40ebaa03d6a2889fe33dac64adb73 FirebaseMessaging: a61bc42dcab3f7a346d94bbb54dab2c9435b18b2
FirebaseSharedSwift: 79f27fff0addd15c3de19b87fba426f3cc2c964f
FirebaseStorage: 550349b1e8f7315834ea08308696e9469d77135d
Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467 Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467
flutter_local_notifications: a5a732f069baa862e728d839dd2ebb904737effb flutter_local_notifications: a5a732f069baa862e728d839dd2ebb904737effb
geolocator_apple: ab36aa0e8b7d7a2d7639b3b4e48308394e8cef5e geolocator_apple: ab36aa0e8b7d7a2d7639b3b4e48308394e8cef5e
Google-Maps-iOS-Utils: 0a484b05ed21d88c9f9ebbacb007956edd508a96 Google-Maps-iOS-Utils: 0a484b05ed21d88c9f9ebbacb007956edd508a96
google_maps_flutter_ios: 0291eb2aa252298a769b04d075e4a9d747ff7264 google_maps_flutter_ios: 0291eb2aa252298a769b04d075e4a9d747ff7264
google_sign_in_ios: 205742c688aea0e64db9da03c33121694a365109 google_sign_in_ios: 205742c688aea0e64db9da03c33121694a365109
GoogleAdsOnDeviceConversion: d68c69dd9581a0f5da02617b6f377e5be483970f
GoogleAppMeasurement: 3bf40aff49a601af5da1c3345702fcb4991d35ee
GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7 GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7
GoogleMaps: 0608099d4870cac8754bdba9b6953db543432438 GoogleMaps: 0608099d4870cac8754bdba9b6953db543432438
GoogleSignIn: c7f09cfbc85a1abf69187be091997c317cc33b77 GoogleSignIn: fcee2257188d5eda57a5e2b6a715550ffff9206d
GoogleUtilities: 00c88b9a86066ef77f0da2fab05f65d7768ed8e1 GoogleUtilities: 00c88b9a86066ef77f0da2fab05f65d7768ed8e1
"gRPC-C++": cc207623316fb041a7a3e774c252cf68a058b9e8 "gRPC-C++": cc207623316fb041a7a3e774c252cf68a058b9e8
gRPC-Core: 860978b7db482de8b4f5e10677216309b5ff6330 gRPC-Core: 860978b7db482de8b4f5e10677216309b5ff6330

View File

@@ -340,10 +340,14 @@
inputFileListPaths = ( inputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
); );
inputPaths = (
);
name = "[CP] Embed Pods Frameworks"; name = "[CP] Embed Pods Frameworks";
outputFileListPaths = ( outputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
); );
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh; shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
@@ -372,10 +376,14 @@
inputFileListPaths = ( inputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist", "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist",
); );
inputPaths = (
);
name = "[CP] Copy Pods Resources"; name = "[CP] Copy Pods Resources";
outputFileListPaths = ( outputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist", "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist",
); );
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh; shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n";
@@ -490,7 +498,11 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = 456VVYXDFN;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
@@ -499,6 +511,8 @@
); );
PRODUCT_BUNDLE_IDENTIFIER = be.devdayronvl.TravelMate; PRODUCT_BUNDLE_IDENTIFIER = be.devdayronvl.TravelMate;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = myiphone;
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic"; VERSIONING_SYSTEM = "apple-generic";
@@ -673,7 +687,11 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = 456VVYXDFN;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
@@ -682,6 +700,8 @@
); );
PRODUCT_BUNDLE_IDENTIFIER = be.devdayronvl.TravelMate; PRODUCT_BUNDLE_IDENTIFIER = be.devdayronvl.TravelMate;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = myiphone;
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;
@@ -696,7 +716,11 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = 456VVYXDFN;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
@@ -705,6 +729,8 @@
); );
PRODUCT_BUNDLE_IDENTIFIER = be.devdayronvl.TravelMate; PRODUCT_BUNDLE_IDENTIFIER = be.devdayronvl.TravelMate;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = myiphone;
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic"; VERSIONING_SYSTEM = "apple-generic";

View File

@@ -5,6 +5,7 @@ import '../blocs/user/user_state.dart';
/// Service for managing user operations with Firestore and Firebase Auth. /// Service for managing user operations with Firestore and Firebase Auth.
/// ///
///
/// This service provides functionality for user management including creating, /// This service provides functionality for user management including creating,
/// retrieving, updating, and deleting user data in Firestore. It also handles /// retrieving, updating, and deleting user data in Firestore. It also handles
/// user authentication state and provides methods for user profile management. /// user authentication state and provides methods for user profile management.