eduardweb.
Publicare Play Store & App StoreIntermediar#react-native#expo#eas-build#app-store#ios

Expo EAS Build cu certificate iOS auto-manage: Ghid pas cu pas pentru prima lansare

De Alin Pătrașcu, 3 aug. 2026 · 8 vizualizări · 3 like-uri

Postat 3 aug. 2026
json
{
  "cli": {
    "version": ">= 7.0.0"
  },
  "build": {
    "production": {
      "ios": {
        "simulator": false,
        "distribution": "store"
      }
    }
  },
  "submit": {
    "production": {
      "ios": {
        "appleId": "dev@firma.ro",
        "ascAppId": "1234567890"
      }
    }
  }
}

Dacă ai încercat vreodată acum câțiva ani să generezi manual un distribution certificate și un provisioning profile în Apple Developer Portal, probabil încă ai cosmaruri. Cu Expo EAS (Build & Submit), procesul a devenit aproape plictisitor de simplu dacă lași CLI-ul să-și facă de cap cu auto-management-ul. Am făcut recent prima lansare pe App Store pentru un client și am zis să las aici pașii exacți pe care i-am urmat, fără bătaia de cap clasică.

Pre-cerințe în Apple Dashboard (unde se blochează majoritatea)

Înainte să dai vreo comandă în terminal, ai nevoie de două lucruri făcute manual:

  1. Un cont plătit de Apple Developer (ăi 99$ pe an).
  2. O aplicație creată în App Store Connect cu același bundleIdentifier definit în app.json.

Am văzut mulți devi care dau eas build înainte să accepte ultimele acorduri de licență în contul de Apple Developer. Intri acolo, accepți tot ce e de bifat, apoi creezi aplicația în App Store Connect. Nu atinge absolut nimic în secțiunea de Certificates sau Provisioning Profiles din Apple Developer Console. Lasă totul gol.

Configurare eas.json și prima rulare

Asigură-te că ai eas-cli instalat global și că ești autentificat în contul tău de Expo. Structura fișierului eas.json trebuie să aibă profilul de producție pregătit pentru App Store submission.

Când declanșezi build-ul cu comanda eas build --platform ios --profile production, CLI-ul te va întreba interactiv dacă vrei ca Expo să se ocupe de gestionarea credentialelor. Apasă Y fără ezitare. EAS se va conecta la contul tău de Apple folosind App Store Connect API Key (sau login-ul tău Apple ID) și va genera automat:

  • Apple Distribution Certificate
  • Provisioning Profile dedicat pentru App Store
  • Push Notification Key (dacă ai configurat push notifications în aplicație)

Trade-off-uri reale și la ce să fii atent

Sistemul e genial pentru 90% din cazuri, dar vine cu un compromis clar de control.

EAS Credentials auto-management funcționează ca un black box. Dacă ești într-o echipă mai mare unde departamentul de Securitate vrea să controleze cheile private .p12 și să le țină izolate într-un Vault propriu, o să te lovești de rezistență. Am avut cazul la o aplicație de fintech cu 30k useri activi unde echipa de infra a insistat pe generare manuală și import prin credentials.json. A durat cu 3 ore mai mult doar setup-ul inițial.

Altă chestie: dacă schimbi echipa de Apple Developer sau muți proiectul pe alt cont de Expo, trebuie să faci export la credentiale folosind eas credentials și să le re-imporți. Nu e greu, dar trebuie să știi că există acolo.

Trimiterea build-ului în TestFlight

Un build pe serverele EAS (pe instanțe de Mac M1/M2) durează în medie 12-15 minute. După ce vezi verde în terminal că build-ul s-a terminat, poți urca artifactul .ipa direct în App Store Connect cu comanda eas submit --platform ios --latest.

La prima trimitere, îți va cere o cheie App Store Connect API (Issuer ID, Key ID și fișierul .p8). O generezi o singură dată din App Store Connect -> Users and Access -> Integrations, o salvezi în prompt-ul EAS și de atunci înainte totul devine 100% automatizat.

Voi mai folosiți Fastlane Match cu repo separat de git pentru certificate la proiecte noi de React Native, sau ați trecut toți definitiv pe auto-management din EAS?

Răspunsuri 0

Se încarcă răspunsurile…

Loghează-te pentru a răspunde

Doar membrii comunității pot lăsa comentarii.