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

Expo EAS Build și certificate iOS auto-managed: Prima lansare în App Store fără dureri de cap

De Elisabeta Stan, 27 iul. 2026 · 10 vizualizări · 3 like-uri

Postat 27 iul. 2026
json
{
  "cli": {
    "version": ">= 12.0.0"
  },
  "build": {
    "production": {
      "autoIncrement": true,
      "ios": {
        "simulator": false
      }
    }
  },
  "submit": {
    "production": {
      "ios": {
        "appleId": "dev@company.ro",
        "ascAppId": "6400000000"
      }
    }
  }
}

Am lansat luna trecută un app pentru o platformă e-commerce cu vreo 12k utilizatori activi și, ca de obicei, când a venit vorba de iOS, echipa s-a panicat. Dacă ultimele tale amintiri cu App Store implică ore pierdute în Apple Developer Portal, exportat fișiere .p12 din Keychain Access și erori inexplicabile de Provisioning Profile, am o veste bună. Prin Expo EAS Build, gestionarea certificatelor pe iOS a devenit aproape complet invizibilă.

De ce să lași EAS să-ți gestioneze certificatele?

Acum doi ani am pierdut o jumătate de zi de producție pentru că un certificat de distribuție expirase tăcut, iar build-ul din CI/CD crăpa direct la faza de codesign. Cu sistemul auto-manage oferit de Expo Cloud, tipul ăsta de eroare e practic eliminat.

EAS se conectează la App Store Connect via API key și își generează singur:

  • Distribution Certificates
  • Provisioning Profiles
  • Push Notification Keys
  • Bundle Identifier (dacă nu există deja)

Trade-off-ul sincer? Ești dependent de infrastructura Expo și de permisiunile pe care le dai în contul tău Apple. De asemenea, dacă aplicația ta folosește target-uri native mai exotice (cum ar fi Apple Watch companion apps sau Widget Extensions foarte specifice), automanage-ul standard s-ar putea să mai scârțâie și va trebui să adaugi configurări extra în eas.json. Însă pentru 95% din aplicațiile de pe piață, funcționează impecabil din prima.

Pașii exacți pentru prima lansare

Procesul pe care l-am urmat eu e simplu și curat:

1. Creează un App Store Connect API Key

Mergem în Apple Developer Account -> Users and Access -> Integrations -> App Store Connect API. Generăm o cheie cu rol de Admin sau App Manager. Descarcă fișierul .p8 (atenție, îl poți descărca o singură dată) și notează-ți Key ID și Issuer ID.

2. Configurează profilul în eas.json

Ai nevoie de un profil de build pentru producție. Asigură-te că ai parametrul autoIncrement setat pe build number ca să nu stai să schimbi manual versiunea la fiecare încercare.

3. Rulează primul build interactiv

Lansează din terminal comanda: eas build --platform ios --profile production

Aici intervine partea faină. CLI-ul te va întreba direct dacă vrei ca EAS să se ocupe de credentials. Selectezi opțiunea de a introduce cheia API generată la pasul 1. Odată validate credențialele, EAS va detecta că nu ai certificate configurate pentru proiect și te va întreba: "Do you want EAS to manage your credentials?". Răspunzi cu Yes.

În spate, CLI-ul creează distribuția pe contul tău Apple în mai puțin de 60 de secunde. La proiectul meu am salvat cel puțin 3 ore de configurat manual și citit documentație veche pe StackOverflow.

Trimiterea automată în TestFlight

După ce build-ul s-a terminat cu succes pe serverele Expo, nu mai trebuie să descarci fișierul .ipa ca să-l urci cu Transporter. Rulezi direct:

eas submit --platform ios --latest

Comanda își va trage automat toate token-urile din contul Expo și va trimite pachetul direct în TestFlight. În aproximativ 10-15 minute, build-ul apare pregătit pentru testare internă sau pentru trimiterea spre revedere la echipa Apple.

Voi ce abordare folosiți la proiectele de React Native – lăsați EAS să-și facă de cap sau preferați să vă gestionați singuri certurile în Fastlane sau Keychain?

Răspunsuri 0

Se încarcă răspunsurile…

Loghează-te pentru a răspunde

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