25/10/2024
Udvikling af mobile applikationer kan ofte virke som en kompleks proces, især når det kommer til at få din app ud på forskellige platforme. For udviklere, der arbejder med React Native og Expo, er der et utal af fordele ved den krydsplatformskompatibilitet, der tilbydes. Dog opstår der ofte en udfordring, når man skal installere en Expo React Native applikation på iOS-enheder uden adgang til Xcode eller et macOS-miljø. Dette problem kan virke uoverkommeligt for mange, men heldigvis findes der effektive alternative metoder, som gør processen overraskende ligetil. I denne dybdegående artikel vil vi udforske præcis, hvordan du kan installere din Expo React Native app på iOS, uden at du behøver at investere i Apple-hardware eller navigere i Xcodes komplekse univers.

Expo er designet til at strømline udviklingsprocessen, og det inkluderer også test og distribution. Selvom Xcode er standardværktøjet for iOS-udvikling, anerkender Expo behovet for fleksibilitet. De metoder, vi vil gennemgå, er ikke kun tidsbesparende, men også omkostningseffektive, hvilket gør dem ideelle for både individuelle udviklere og mindre teams. Vi vil se på, hvordan du kan udnytte Expos egne værktøjer og andre tilgængelige platforme til at få din app fra udviklingsstadiet og direkte ud på en fysisk iOS-enhed. Gør dig klar til at forenkle din mobile app-udvikling og opnå mere med mindre besvær.
- Forudsætninger Før Vi Begynder
- Metode 1: Brug af Expo Go-appen (Den Nemmeste Vej)
- Metode 2: Over-the-Air (OTA) Opdateringer og Direkte Distribution
- Metode 3: Brug af Tredjeparts App-butikker eller TestFlight
- Sammenligning af Installationsmetoder
- Afsluttende Bemærkninger og Tips
- Ofte Stillede Spørgsmål (FAQ)
- Spørgsmål: Kan jeg bruge disse metoder til at udgive min app i den officielle App Store?
- Spørgsmål: Er det sikkert at installere apps via direkte IPA-filer eller tredjeparts app-butikker?
- Spørgsmål: Kræver Expo Go-appen, at min computer og iPhone er på samme Wi-Fi-netværk?
- Spørgsmål: Hvad er forskellen mellem expo build:ios og eas build -p ios?
- Spørgsmål: Kan jeg teste push-notifikationer eller andre native funktioner med Expo Go?
Forudsætninger Før Vi Begynder
Før vi dykker ned i installationsmetoderne, er det vigtigt at sikre, at du har de nødvendige elementer på plads. Disse forudsætninger er fundamentale for en problemfri proces og vil spare dig for potentielle frustrationer undervejs:
- Et fungerende Expo React Native-projekt: Det siger sig selv, men du skal have et fuldt funktionelt Expo React Native-projekt, der er klar til implementering. Sørg for, at dit projekt er kompatibelt med iOS-enheder og ikke indeholder platformsspecifikke moduler, der kræver native kode, medmindre du har håndteret dem korrekt via Expo Application Services (EAS) build.
- En iOS-enhed: Du skal naturligvis have en fysisk iOS-enhed, såsom en iPhone eller iPad, til rådighed. Det er på denne enhed, du vil installere og teste din Expo React Native-applikation. Sørg for, at enheden er opdateret til en nyere iOS-version, da ældre versioner kan have kompatibilitetsproblemer.
- En stabil internetforbindelse: En pålidelig og stabil internetforbindelse er afgørende. Du skal bruge den til at downloade og installere de nødvendige værktøjer, afhængigheder og til at kommunikere med Expos servere, især når du publicerer din app eller bruger Expo Go-appen.
Når disse grundlæggende krav er opfyldt, er du klar til at udforske de forskellige metoder til at få din app ud på din iOS-enhed.
Metode 1: Brug af Expo Go-appen (Den Nemmeste Vej)
Den absolut nemmeste og mest populære måde at installere og teste din Expo React Native-applikation på iOS er ved at bruge Expo Go-appen. Tidligere kendt som "Expo Client", giver denne app dig mulighed for øjeblikkeligt at indlæse og køre din app på en ægte iOS-enhed uden behov for Xcode eller et macOS-miljø. Denne metode er ideel til hurtig iteration og test under udviklingsfasen.
Sådan får du Expo Go på din iOS-enhed:
Den mest ligetil måde at få Expo Go-appen på din iPhone eller iPad er via Apples officielle App Store. Følg disse simple trin:
- Åbn App Store: På din iOS-enhed skal du åbne "App Store"-applikationen.
- Søg efter "Expo Go": Brug søgefeltet i App Store til at søge efter "Expo Go".
- Download og installer: Find "Expo Go"-appen i søgeresultaterne (den har typisk et blåt ikon med et hvidt E) og tryk på "Hent" eller skyikonet for at downloade og installere den på din enhed. Appen er gratis.
Når Expo Go er installeret, er du klar til at køre dit projekt. Bemærk, at de instruktioner, der nogle gange ses for at downloade "Expo Go app archive" og trække til Simulator, er specifikt for at installere Expo Go på en iOS Simulator på en macOS-maskine, ikke på en fysisk enhed. For fysiske enheder er App Store-metoden den korrekte og eneste understøttede måde.
Trin for trin: Kør din app med Expo Go:
- Byg dit Expo-projekt (valgfrit for Expo Go, men godt at kende): For at køre din app med Expo Go behøver du ikke nødvendigvis at bygge en standalone IPA-fil (som beskrevet i den originale tekst). Du kan simpelthen starte din udviklingsserver. I din terminal, naviger til din Expo React Native-projektmappe og kør kommandoen
npm startellerexpo start. Dette vil starte en lokal udviklingsserver og generere en QR-kode i terminalen. - Udgiv din app (hvis du vil dele den remotely): Hvis du ønsker at dele din app med andre, eller hvis din enhed ikke er på samme lokale netværk som din computer, kan du udgive din app til Expos servere ved at køre
expo publish. Dette trin er nødvendigt for, at Expo Go-appen kan hente og indlæse din app fjernt. - Åbn Expo Go-appen: Start Expo Go-appen på din iOS-enhed.
- Scan QR-koden: I din terminal vil du se en QR-kode genereret af Expo efter at have startet serveren (
expo start) eller udgivet din app (expo publish). Brug kameraet på din iOS-enhed til at scanne den QR-kode, der vises i terminalen. Du kan også vælge "Scan QR Code" inde i Expo Go-appen. Expo Go-appen vil automatisk genkende QR-koden og indlæse din app. Alternativt, hvis du har udgivet din app, kan du finde den under "Recent" i Expo Go, eller du kan indtaste dens URL manuelt. - Test din app: Din Expo React Native-applikation vil nu blive indlæst og køre på din iOS-enhed. Du kan interagere med og teste din app, ligesom du ville med enhver anden installeret app.
Brug af Expo Go-appen giver en praktisk og hurtig måde at teste din Expo React Native-applikation på iOS uden Xcode eller macOS. Det er dog vigtigt at bemærke, at denne metode kræver en internetforbindelse (eller at enhederne er på samme lokale netværk) for at indlæse din app. Det er den foretrukne metode til hurtig test og iteration under udviklingen.
Metode 2: Over-the-Air (OTA) Opdateringer og Direkte Distribution
En anden kraftfuld måde at installere din Expo React Native-applikation på iOS uden Xcode eller macOS er ved at bruge Over-the-Air (OTA) opdateringer. Denne metode giver dig mulighed for at distribuere og opdatere din app uden at skulle gennem App Stores anmeldelsesproces for hver lille ændring. Dette er særligt nyttigt for interne beta-tests eller for hurtige opdateringer til en eksisterende udgivet app.
Trin for trin: Distribution via OTA-opdateringer:
- Konfigurer OTA-opdateringer: I dit Expo React Native-projekt skal du sikre dig, at OTA-opdateringer er aktiveret. Dette gøres ved at konfigurere
app.json-filen. Sæt"updates.enabled"-egenskaben tiltruefor at aktivere OTA-opdateringer. Du kan også finjustere opdateringsstrategien (f.eks."fallbackToCacheTimeout"). - Byg dit Expo-projekt: Kør kommandoen
expo build:ios(eller den nyereeas build -p iosmed EAS Build) for at bygge dit projekt til iOS. Denne kommando vil generere en standalone IPA-fil (iOS App Store Package) for din app. Dette er en fuld, selvstændig app-pakke, som kan installeres på enheder. - Distribuer IPA-filen: Når byggeprocessen er afsluttet, skal den genererede IPA-fil distribueres til din iOS-enhed. Du kan bruge forskellige metoder til dette:
- E-mail: Send IPA-filen som en vedhæftet fil i en e-mail til dig selv. Åbn e-mailen på din iOS-enhed.
- Cloud-lagring: Upload IPA-filen til en cloud-lagringstjeneste som Google Drive, Dropbox eller iCloud Drive. Åbn linket på din iOS-enhed.
- Fil-delingstjeneste: Brug en dedikeret fil-delingstjeneste.
- Webserver: Hvis du har en webserver, kan du hoste IPA-filen der og give en direkte download-URL.
Uanset metoden skal IPA-filen være tilgængelig på din iOS-enhed.
- Installer appen: På din iOS-enhed skal du åbne IPA-filen ved hjælp af en filhåndtering eller fil-delingsapp (f.eks. Filer-appen, hvis den er downloadet via Safari). Når du trykker på IPA-filen, vil iOS spørge, om du vil installere appen. Følg instruktionerne på skærmen for at installere appen på din enhed. Du skal muligvis tillade installation fra "Ukendte kilder" i dine indstillinger, eller "Tillid til udvikler" under Indstillinger > Generelt > VPN & Enhedsadministration, hvis det er en ad-hoc build.
- Test din app: Din Expo React Native-applikation vil blive installeret og klar til at teste på din iOS-enhed. Du kan starte appen og interagere med den, ligesom enhver anden installeret app.
Brug af OTA-opdateringer giver dig mulighed for at distribuere og installere din Expo React Native-applikation på iOS-enheder uden at være afhængig af Xcode eller macOS for selve installationen. Denne metode giver mere fleksibilitet i distribution og opdatering af din app, især for beta-tests eller interne virksomhedsapplikationer.
Metode 3: Brug af Tredjeparts App-butikker eller TestFlight
Hvis du foretrækker en mere traditionel og kontrolleret tilgang til distribution, kan du overveje at bruge tredjeparts app-butikker eller Apples egen TestFlight-platform til at distribuere og installere din Expo React Native-applikation på iOS. Disse metoder er især relevante, når du nærmer dig en offentlig udgivelse eller har brug for en mere struktureret testproces med et større antal testere.
Trin for trin: Distribution via App Stores eller TestFlight:
- Byg dit Expo-projekt: Ligesom med OTA-metoden skal du køre kommandoen
expo build:ios(ellereas build -p ios) for at bygge dit projekt til iOS. Dette vil generere en IPA-fil for din app, som er den pakke, der skal uploades. - Upload til en tredjeparts app-butik: Der findes forskellige tredjeparts app-butikker, som tillader installation af apps uden for den officielle App Store (f.eks. AppValley, AppCake, Panda Helper). Disse er dog ofte forbundet med sikkerhedsrisici og anbefales generelt ikke for almindelig distribution. Hvis du vælger denne rute, skal du uploade din IPA-fil til en af disse app-butikker i henhold til deres specifikke retningslinjer. Brugere kan derefter installere din app direkte fra denne app-butik på deres iOS-enheder. Vær opmærksom på, at Apple ofte blokerer certifikater, der bruges af disse butikker, hvilket kan gøre apps ubrugelige.
- Brug TestFlight: Apples TestFlight-platform er den officielle og langt mere anbefalede metode til at distribuere din app til testere for test og feedback.
- Opret en Apple Developer Account: For at bruge TestFlight skal du have en aktiv Apple Developer Account.
- Upload IPA til App Store Connect: Efter at have bygget din IPA-fil med Expo (eller EAS Build), skal du uploade den til App Store Connect. Dette gøres typisk via Transporter-appen på macOS, men der findes også kommandolinjeværktøjer, der understøtter dette fra andre operativsystemer, eller du kan bruge EAS Submit, som automatiserer denne proces.
- Konfigurer TestFlight: Når din app er uploadet og behandlet i App Store Connect, kan du konfigurere TestFlight-test. Du kan invitere interne testere (op til 100 medlemmer af dit team) og eksterne testere (op til 10.000 brugere). Eksterne testere kræver en beta-app-gennemgang fra Apple.
- Inviter testere: Send invitationer til dine testere via e-mail. Testerne vil derefter downloade TestFlight-appen fra App Store og kan installere din app derigennem.
Brug af tredjeparts app-butikker eller TestFlight giver en mere traditionel app-distributionsproces for din Expo React Native-applikation. TestFlight er klart den sikreste og mest pålidelige metode til beta-test og giver en kontrolleret miljø for test, samt mulighed for at indsamle værdifuld feedback, før du udgiver din app i den officielle App Store.
Sammenligning af Installationsmetoder
For at give et klarere overblik over de forskellige metoder, har vi samlet en sammenligningstabel, der fremhæver de vigtigste forskelle og fordele ved hver tilgang:
| Metode | Nemhed | Internetkrav | Kræver Xcode/macOS | Distributionsfleksibilitet | Anbefales til |
|---|---|---|---|---|---|
| Expo Go-appen | Meget høj | Ja (under udvikling/remote) | Nej | Lav (kun til test) | Hurtig test, udvikling, iteration |
| OTA-opdateringer / Direkte IPA | Mellem | Ja (ved download af IPA) | Nej (til build, men ikke installation) | Høj (intern distribution) | Interne beta-tests, lukkede testgrupper |
| TestFlight | Mellem/Høj | Ja | Nej (til installation, men kræver App Store Connect upload) | Høj (struktureret beta-test) | Omfattende beta-test, forberedelse til App Store |
| Tredjeparts App Stores | Mellem | Ja | Nej | Høj (men risikabel) | Ikke anbefalet (sikkerhedsrisici) |
Valget af metode afhænger af dine specifikke behov. For hurtig udvikling og test er Expo Go uovertruffen. Til intern distribution og opdatering er OTA-metoden stærk. Og for en professionel beta-testproces er TestFlight den klare vinder.

Afsluttende Bemærkninger og Tips
Det er tydeligt, at installation af din Expo React Native-applikation på iOS-enheder uden at bruge Xcode eller macOS er fuldt ud muligt gennem forskellige alternative metoder. Denne fleksibilitet er en af de største fordele ved at arbejde med Expo.
Hvis du planlægger at genopbygge din applikation efter den første bygning (f.eks. efter at have foretaget ændringer, der kræver en ny IPA-fil, eller hvis du opgraderer Expo SDK-versionen), er den gode nyhed, at alle certifikater, nøgler og klargøringsprofiler, der blev genereret under den første expo build:ios (eller EAS Build), gemmes. Det betyder, at du ikke behøver at gentage disse trin, hvilket sparer dig for en masse tid og kompleksitet. Expo administrerer disse for dig.
Men hvad nu hvis du ønsker at starte helt forfra og fjerne alle gemte filer og certifikater? Dette kan være nyttigt, hvis du oplever problemer med signering, eller hvis du simpelthen ønsker en ren start. I så fald kan du bruge følgende kommando, når du bygger din app, i stedet for den standard expo build:ios:
expo build:ios --clear-credentials (for ældre Expo Build)
Eller for EAS Build:
eas build --platform ios --clear-credentials
Denne kommando vil tvinge Expo til at fjerne alle tidligere gemte bygge-relaterede data og starte en frisk byggeproces, herunder generering af nye certifikater og profiler, hvis nødvendigt.
App-ikoner: Hvis du endnu ikke har sat dine applikationsikoner op, er det et vigtigt skridt for at give din app et professionelt udseende. Expo gør det heldigvis nemt at konfigurere app-ikoner og splash screens via din app.json-fil. Du kan finde mange online tutorials, der nemt guider dig gennem konfigurationen, ofte med eksempler på, hvordan du designer og implementerer dem korrekt.
Ofte Stillede Spørgsmål (FAQ)
Spørgsmål: Kan jeg bruge disse metoder til at udgive min app i den officielle App Store?
Svar: Ja, men ikke direkte. Expo Go-metoden er kun til test. OTA-opdateringsmetoden giver dig en IPA-fil, som kan uploades til App Store Connect via EAS Submit eller Transporter-appen (kræver macOS for Transporter, men EAS Submit kan gøre det fra enhver OS). TestFlight er specifikt designet til beta-test før en officiel App Store-udgivelse. Når du er klar til at udgive, skal IPA-filen sendes til Apples App Store Connect for gennemgang og godkendelse.
Spørgsmål: Er det sikkert at installere apps via direkte IPA-filer eller tredjeparts app-butikker?
Svar: Direkte installation af IPA-filer (ad-hoc distribution) kan være sikker, hvis filen kommer fra en betroet kilde (f.eks. din egen bygning). Tredjeparts app-butikker, der distribuerer apps uden for App Store, er derimod ofte forbundet med betydelige sikkerhedsrisici, herunder distribution af modificerede apps eller malware. De anbefales generelt ikke. TestFlight er den mest sikre og anbefalede metode til beta-test uden for App Store.
Spørgsmål: Kræver Expo Go-appen, at min computer og iPhone er på samme Wi-Fi-netværk?
Svar: Ja, som standard gør det. Når du kører expo start, vil Expo Go forsøge at oprette forbindelse til din udviklingsserver via dit lokale netværk. Hvis de ikke er på samme netværk, kan du bruge expo publish til at udgive din app til Expos servere, hvorefter din app kan indlæses fjernt via QR-koden eller URL'en i Expo Go-appen, uanset netværksforbindelse (så længe begge har internetadgang).
Spørgsmål: Hvad er forskellen mellem expo build:ios og eas build -p ios?
Svar:expo build:ios er den ældre byggekommando i Expo, som er ved at blive udfaset til fordel for Expo Application Services (EAS) Build. eas build -p ios er den moderne og mere fleksible byggeplatform. EAS Build giver mere kontrol over byggeprocessen, understøtter native moduler (bare React Native projekter) og er generelt mere robust for komplekse projekter. Selvom expo build:ios stadig fungerer for mange "managed" Expo-projekter, anbefales det at migrere til EAS Build for fremtidig udvikling.
Spørgsmål: Kan jeg teste push-notifikationer eller andre native funktioner med Expo Go?
Svar: Expo Go-appen understøtter mange native funktioner, der er indbygget i Expo SDK'en, herunder push-notifikationer, kamera, GPS osv. For at teste push-notifikationer skal du dog ofte bygge en standalone app (IPA) via expo build:ios eller eas build -p ios, da Expo Go har sine egne begrænsninger og delte push-notifikationsnøgler. Hvis din app bruger native moduler, der ikke er en del af Expo SDK'en, skal du bygge en standalone app med EAS Build for at teste disse funktioner.
Vi håber, at denne guide har givet dig en klar forståelse af de tilgængelige metoder til at installere dine Expo React Native-apps på iOS uden at være afhængig af Xcode eller macOS. Ved at udnytte disse strategier kan du accelerere din udviklingsproces og fokusere på at skabe fantastiske applikationer.
Hvis du vil læse andre artikler, der ligner Sådan Installerer Du Expo Apps på iOS Uden Xcode, kan du besøge kategorien Apps.
