React Native Academy · Lektion

Konfigurera signering med EAS Build

Konfigurera eas.json med en produktionsprofil för byggen, kör eas credentials för att hantera certifikat och starta ett EAS Build som skapar en signerad .ipa-fil.

Lektion 2 av 413 steg

Konfigurera signering med EAS Build är en gratis lektion i React Native Academy på CoddyKit. Detta är lektion 2 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för React Native Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i React Native Academy innehåller totalt 4 lektioner.

Vad är EAS Build

EAS Build (Expo Application Services Build) är en molntjänst för byggen som kompilerar er React Native- eller Expo-app på Expos infrastruktur och skapar en signerad .ipa för iOS eller .apk/.aab för Android. Ni behöver inte Xcode, Android Studio eller en Mac för iOS-byggen – EAS tillhandahåller hanterade macOS-datorer. Tjänsten hanterar även autentiseringsuppgifter för kodsignering automatiskt.

Installera och logga in på EAS CLI

EAS CLI är kommandoradsverktyget som ni använder för att starta byggen, hantera autentiseringsuppgifter och skicka in appar. Installera det globalt med npm och logga sedan in med ert Expo-konto. Ni behöver ett Expo-konto (gratis) utöver ert Apple Developer-konto. När ni har loggat in kan EAS kommunicera med Apples API för er räkning och hantera certifikat och provisioning-profiler.

# Install EAS CLI globally
npm install -g eas-cli

# Verify installation
eas --version

# Log in with your Expo account
eas login

# Check who you are logged in as
eas whoami

# Link your project (run from project root)
eas init

Konfigurationsfilen eas.json

Allt beteende i EAS Build konfigureras i eas.json i projektets rotmapp. Ni definierar build profiles – namngivna konfigurationer som development, preview och production. Varje profil anger distributionstyp, källa för autentiseringsuppgifter, miljövariabler och plattformsspecifika inställningar. Kör eas build:configure för att automatiskt skapa en första eas.json.

// eas.json
{
  'cli': { 'version': '>= 5.0.0' },
  'build': {
    'development': {
      'developmentClient': true,
      'distribution': 'internal',
      'ios': { 'simulator': true }
    },
    'preview': {
      'distribution': 'internal'
    },
    'production': {
      'distribution': 'store',
      'credentialsSource': 'remote'
    }
  },
  'submit': {
    'production': {
      'ios': { 'appleId': 'you@example.com' }
    }
  }
}

Konfigurera autentiseringsuppgifter automatiskt

EAS kan konfigurera alla iOS-autentiseringsuppgifter för signering automatiskt om ni ger tjänsten åtkomst till ert Apple Developer-konto. När ni kör eas build --platform ios för första gången frågar EAS om ni vill generera ett nytt certifikat och en ny provisioning-profil eller använda befintliga. Välj alternativet för automatisk generering, så skapar EAS ett distributionscertifikat via Apples API, genererar en matchande provisioning-profil och lagrar båda säkert i EAS lager för autentiseringsuppgifter.

# Trigger a production iOS build
eas build --platform ios --profile production

# EAS prompts:
# ? Would you like to log in to your Apple account?
# > Yes
# Enter Apple ID: you@example.com
# Enter password: (app-specific password)
#
# ? Generate a new Apple Distribution Certificate?
# > Generate a new certificate  <- choose this
#
# ? Generate a new Provisioning Profile?
# > Generate a new profile  <- choose this
#
# Build queued...

Visa och hantera autentiseringsuppgifter

Kommandot eas credentials öppnar en interaktiv meny där ni kan visa, uppdatera eller ta bort lagrade autentiseringsuppgifter. Ni kan se certifikatets utgångsdatum, provisioning-profilens typ och vilket App ID den omfattar. Ni kan även hämta autentiseringsuppgifter från molnet för lokal användning eller skicka en lokalt genererad .p12-fil och .mobileprovision-fil till EAS om ni föredrar att hantera dem själva.

# View all stored credentials
eas credentials

# Select:
# Platform: iOS
# App: com.yourcompany.myapp
#
# EAS shows:
# Distribution Certificate
#   - Issued to: Your Name
#   - Expires: Dec 15, 2026
#   - Serial: A1B2C3...
# Provisioning Profile
#   - Type: App Store
#   - Expires: Dec 15, 2026
#   - Profile UUID: XXXXXXXXX

Miljövariabler i EAS Build

EAS Build stöder environment variables för hemligheter och konfiguration som behövs under bygget. Definiera dem i eas.json under nyckeln env för en viss profil eller lagra känsliga värden i EAS Secrets via eas secret:create. EAS Secrets är krypterade och injiceras endast i byggen – de loggas aldrig och exponeras inte offentligt. Använd dem för API-nycklar, tokens eller andra värden som inte får finnas i källkodshanteringen.

// eas.json — environment variables per profile
{
  'build': {
    'production': {
      'distribution': 'store',
      'env': {
        'EXPO_PUBLIC_API_URL': 'https://api.yourapp.com',
        'APP_VARIANT': 'production'
      }
    },
    'preview': {
      'env': {
        'EXPO_PUBLIC_API_URL': 'https://staging.yourapp.com',
        'APP_VARIANT': 'staging'
      }
    }
  }
}

// Add secrets (sensitive values NOT in eas.json)
// eas secret:create --scope project --name STRIPE_SECRET_KEY --value sk_live_...

Starta ett bygge och övervaka förloppet

Starta ett iOS-bygge för produktion med eas build --platform ios --profile production. EAS placerar bygget i kö på en macOS-runner och returnerar en bygg-URL som ni kan övervaka i webbläsaren. Byggloggarna strömmas i realtid. Byggstatusen går igenom följande steg: queued → in progress → finished. Ett färdigt bygge ger en nedladdnings-URL för .ipa-filen eller laddas automatiskt upp till TestFlight om detta har konfigurerats.

# Build and submit to TestFlight in one command
eas build --platform ios --profile production --auto-submit

# Or build first, submit separately
eas build --platform ios --profile production

# View recent builds
eas build:list

# View build logs for a specific build
eas build:view <build-id>

Lokala EAS-byggen för felsökning

Om ett molnbygge misslyckas och ni inte kan fastställa orsaken med hjälp av loggarna kan ni köra ett local EAS build med eas build --local. Då körs exakt samma byggprocess på er Mac med samma steg som på molnbyggets runner. Ni får full åtkomst till mellanliggande filer och kan lägga till felsökningssteg. Lokala byggen kräver att Xcode är installerat, men använder EAS skript för byggsamordning.

# Run the EAS build locally on your Mac
eas build --platform ios --profile production --local

# The build output is placed in:
# ./build-*.ipa (in the project root)

# Useful flags:
# --no-wait     (don't stream output, just start)
# --clear-cache (ignore previous build cache)

Signering i managed- respektive bare-workflow

I en managed workflow (Expo) hanterar EAS alla detaljer kring inbyggd signering – ni behöver bara konfigurera eas.json. I en bare workflow (utvecklad React Native) kan ni fortfarande använda EAS Build, men ni hanterar det inbyggda projektet själva. EAS hanterar fortfarande autentiseringsuppgifter och kompilering i molnet, men ni kan behöva konfigurera Xcode-projektets signeringsinställningar manuellt via ett konfigurationsplugin eller direkt i ios/.

// eas.json — bare workflow needs explicit scheme
{
  'build': {
    'production': {
      'distribution': 'store',
      'ios': {
        'scheme': 'MyApp',  // Xcode scheme name
        'buildConfiguration': 'Release'
      }
    }
  }
}

Ad Hoc-distribution för QA-testare

Ad Hoc distribution gör att ni kan installera ett bygge direkt på upp till 100 specifika registrerade enheter utan att gå via App Store eller TestFlight. Registrera testenheternas UDID:n i Developer Portal, skapa en Ad Hoc-provisioning-profil, bygg med distribution: 'internal' i EAS och dela installationslänken. EAS kan även registrera nya enheters UDID:n för ert team via kommandot eas device:create.

// eas.json — internal/ad-hoc build
{
  'build': {
    'qa': {
      'distribution': 'internal',
      'ios': { 'simulator': false }
    }
  }
}

# Register a tester's device
eas device:create

# Build for QA (generates ad-hoc signed .ipa)
eas build --platform ios --profile qa

# Share the install link from the EAS dashboard with testers

Felsöka signeringsfel

Vanliga signeringsfel omfattar: certificate mismatch (det lagrade certifikatet matchar inte provisioning-profilen – åtgärda genom att generera om båda), expired certificate (förnya via eas credentials), missing entitlements (en funktion finns i entitlements-filen men inte i provisioning-profilen – lägg till funktionen i Developer Portal och generera om profilen) och wrong bundle ID (kontrollera att ios.bundleIdentifier i app.json exakt matchar App ID).

# Common fix: clear and regenerate credentials
eas credentials --platform ios
# Select: Remove all credentials, then run build again

# Or manually force new certificate:
eas credentials --platform ios
# Select: Update Distribution Certificate

# Check bundle ID mismatch
cat app.json | grep bundleIdentifier
# Should match exactly what's in developer.apple.com > Identifiers

Snabbkontroll

Testa era kunskaper om begreppen inom React Native Mobile Development från den här lektionen.

Sammanfattning av lektionen

I den här lektionen har ni lärt er: hur ni konfigurerar eas.json med byggprofiler för development, preview och production, hur EAS automatiskt hanterar iOS-certifikat och provisioning-profiler och hur ni använder miljövariabler och EAS Secrets för konfiguration under bygget. Ni har också sett hur ni startar byggen, kör dem lokalt för felsökning och felsöker vanliga signeringsfel. Nästa steg är att förbereda metadata för App Store i App Store Connect.

Gratis att börja

Lär dig JavaScript med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
30
Lektioner
120

Vanliga frågor

Är lektionen ”Konfigurera signering med EAS Build” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen React Native Academy, inklusive ”Konfigurera signering med EAS Build”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i React Native Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Konfigurera signering med EAS Build”?

Konfigurera eas.json med en produktionsprofil för byggen, kör eas credentials för att hantera certifikat och starta ett EAS Build som skapar en signerad .ipa-fil. Ni övar på React Native Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig React Native Academy?

Du behöver inga förkunskaper. Utbildningen i React Native Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”Konfigurera signering med EAS Build”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här React Native Academy-lektionen?

Ja. Varje React Native Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Konfigurera Apple Developer-konto och certifikat
  2. Konfigurera signering med EAS Build
  3. Förbereda metadata för App Store i App Store Connect
  4. Skicka in för granskning och hantera avslag
← Tillbaka till React Native Academy