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

Expo EAS Build cu certificate iOS auto-manage: prima lansare în App Store în 2026

De Ștefan Iliescu, 27 mai 2026 · 5 vizualizări · 2 like-uri

Postat 27 mai 2026
json
{
  "cli": {
    "version": ">= 5.0.0"
  },
  "build": {
    "development": {
      "developmentClient": true,
      "distribution": "internal"
    },
    "production": {
      "ios": {
        "simulator": false
      },
      "distribution": "store"
    }
  }
}

Dacă ai lansat vreodată o aplicație iOS acum câțiva ani, probabil încă mai ai coșmaruri cu certificatele descărcate manual, erorile criptice din Xcode și Keychain-ul blocat. În 2026, cu Expo EAS (Expo Application Services), procesul e mult mai curat, dar tot te poți lovi de câteva ziduri dacă e prima oară când faci asta.

Săptămâna trecută am configurat cap-coadă acest flux pentru o aplicație de livrări cu aproximativ 5.000 de utilizatori activi. Am vrut să văd cum se comportă fluxul de "auto-manage" de la EAS pe un cont de Apple Developer proaspăt. Am economisit lejer vreo 2 ore de bătăi de cap și am avut primul build de TestFlight gata în mai puțin de 20 de minute. Hai să-ți arăt pașii exacți ca să nu-ți pierzi nopțile degeaba.

Pasul 1: Pregătirea terenului în CLI

Înainte de orice comandă, asigură-te că ai un cont activ de Apple Developer (da, taxa aia anuală de 99$ încă există) și că ești logat în browser pe el.

Instalează CLI-ul EAS global și loghează-te în contul tău Expo:

npm install -g eas-cli
eas login

După logare, rulează inițializarea în rădăcina proiectului tău. Asta îți va genera fișierul de configurare de bază.

eas build:configure

Pasul 2: Configurația din eas.json

Fără o configurare corectă a profilelor, EAS nu va ști cum să-ți semneze aplicația pentru producție. Ai nevoie de un profil dedicat pentru App Store în fișierul tău eas.json (vezi exemplul de cod de mai jos). Asigură-te că ai setat corect cheia distribution pe store pentru profilul de producție.

Pasul 3: Magia lui "Auto-Manage"

Când ești gata pentru primul build, rulează comanda pentru iOS:

eas build --platform ios --profile production

Aici intervine asistentul interactiv EAS, care îți va salva sănătatea mintală. Te va întreba cum vrei să gestionezi acreditările (credentials). Selectează cu încredere opțiunea în care lași Expo să se ocupe de tot (auto-manage).

EAS îți va cere să te conectezi la contul tău de Apple Developer direct din terminal. Îți recomand cu căldură să folosești un App Store Connect API Key (pe care îl generezi din portalul Apple Developer la secțiunea Users and Access -> Integrations). E infinit mai stabil decât să bagi userul și parola de iCloud, mai ales că dubla autentificare (2FA) tinde să expire fix când ți-e lumea mai dragă în timpul unui build în cloud.

Odată ce s-a conectat, EAS va face automat următoarele în contul tău Apple:

  • Va crea un nou Bundle Identifier (dacă nu există deja).
  • Va genera un certificat de distribuție iOS (iOS Distribution Certificate).
  • Va genera profilele de provizionare (provisioning profiles) necesare pentru producție.

Trade-off-ul sincer: Când e bun și când e nasol

Sistemul auto-managed de la Expo este genial pentru 90% dintre proiecte. Scapi de grija expirării certificatelor (EAS le reînnoiește automat când expiră) și poți genera build-uri direct din cloud-ul lor, fără să ai măcar un Mac fizic la îndemână.

Totuși, am pățit-o la un proiect mai vechi cu o echipă enterprise:

  • Dacă clientul tău are reguli stricte de securitate și refuză să-ți ofere rolul de "Account Holder" sau "Admin" pe contul de Apple Developer, EAS auto-manage nu va funcționa. Ai nevoie de drepturi de admin ca serverele Expo să poată genera acele certificate în numele tău.
  • În astfel de cazuri, ești obligat să mergi pe varianta manuală, unde un administrator îți livrează fișierele .p12 și .mobileprovision, iar tu le încarci în EAS prin eas credentials. E un proces lent și frustrant.

După ce build-ul s-a terminat cu succes în cloud, poți rula eas submit --platform ios ca să trimiți binarul direct în TestFlight.

Voi mai folosiți fastlane local sau ați lăsat complet gestiunea certificatelor în seama lui EAS?

Răspunsuri 0

Se încarcă răspunsurile…

Loghează-te pentru a răspunde

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