diff --git a/.gitea/workflows/deploy-ios.yaml b/.gitea/workflows/deploy-ios.yaml index cbfe4b1..cdcd180 100644 --- a/.gitea/workflows/deploy-ios.yaml +++ b/.gitea/workflows/deploy-ios.yaml @@ -34,30 +34,36 @@ jobs: echo "${{ secrets.ENV_FILE }}" > .env printf '%s' '${{ secrets.FIREBASE_CREDENTIALS }}' > ./ios/firebase_credentials.json - - name: Préparer le Code Signing (Certificats) + - name: Préparer le Code Signing (Version Xcode 26.2) env: - P12_CERTIFICATE_BASE64: ${{ secrets.IOS_P12_BASE64 }} - P12_PASSWORD: ${{ secrets.IOS_P12_PASSWORD }} - PROVISIONING_PROFILE_BASE64: ${{ secrets.IOS_PROVISION_BASE64 }} + P12_BASE: ${{ secrets.IOS_P12_BASE64 }} + P12_PASS: ${{ secrets.IOS_P12_PASSWORD }} + PROV_BASE: ${{ secrets.IOS_PROVISION_BASE64 }} run: | - # 1. Supprimer le keychain s'il existe déjà (Évite l'erreur du build précédent) + # 1. Nettoyage et création security delete-keychain build.keychain || true - - # 2. Créer le keychain proprement security create-keychain -p "" build.keychain - security default-keychain -s build.keychain + + # 2. AJOUTER AU CHEMIN DE RECHERCHE (Crucial pour Xcode 26.2) + # Cela permet à Xcode de fouiller dans ce keychain pour signer l'IPA + security list-keychains -d user -s build.keychain $(security list-keychains -d user | xargs) + + # 3. Paramétrage et Déverrouillage security unlock-keychain -p "" build.keychain security set-keychain-settings -t 3600 -u build.keychain - # 3. 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 + # 4. Importation du certificat Apple Distribution + echo "$P12_BASE" | base64 -D -o cert.p12 + # On autorise explicitement /usr/bin/codesign à accéder à la clé + security import cert.p12 -k build.keychain -P "$P12_PASS" -T /usr/bin/codesign -T /usr/bin/productsign + + # 5. Configuration de la partition pour éviter les popups bloquants security set-key-partition-list -S apple-tool:,apple: -s -k "" build.keychain - # 4. Importer le Profil de Provisionnement + # 6. Installation du Profil (Bundle ID: be.devdayronvl.TravelMate) mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles - echo "$PROVISIONING_PROFILE_BASE64" | base64 -D -o ~/Library/MobileDevice/Provisioning\ Profiles/distribution.mobileprovision - + # Xcode 26.2 nécessite que le nom du fichier corresponde à l'UUID ou soit standard + echo "$PROV_BASE" | base64 -D -o ~/Library/MobileDevice/Provisioning\ Profiles/distribution.mobileprovision - name: Lancer Fastlane & Build IPA working-directory: ./ios