test 35
This commit is contained in:
@@ -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 <<EOF
|
||||
DEVELOPMENT_TEAM = $TEAM_ID
|
||||
CODE_SIGN_STYLE = Manual
|
||||
CODE_SIGN_IDENTITY = Apple Distribution
|
||||
PROVISIONING_PROFILE_SPECIFIER = $PROV_NAME
|
||||
PROVISIONING_PROFILE = $PROFILE_UUID
|
||||
PRODUCT_BUNDLE_IDENTIFIER = $BUNDLE_ID
|
||||
EOF
|
||||
# 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 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:
|
||||
</plist>
|
||||
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:
|
||||
|
||||
Reference in New Issue
Block a user