# Lav en iOS-app med AI: faldgruber og tjek

> Claude, ChatGPT og Cursor skriver hurtigt din iOS-kode. Signering, abonnementer, Apples review, rigtig iPhone: det overser de, og sådan tjekker du det.

Original side: [Lav en iOS-app med AI: faldgruber og tjek](https://devoria.fr/da/blog/lav-ios-app-med-ai-faldgruber-tjek)
Forfatter: [Mehdi Azizi](https://devoria.fr/da/mehdi-azizi)
Udgivet: 2026-09-23
Indhold senest revideret: 2026-10-09


## Lav en iOS-app med AI: det korte svar

Ja, du kan godt lave en iOS-app med AI, selvom du er nybegynder. Den måde at bygge på har et navn: [vibe coding](https://devoria.fr/da/blog/vibe-coding-hvad-er-det-definition-vaerktoejer). Claude, ChatGPT og Cursor er rigtig gode til at skrive skærme, navigation, simpel logik og kald til en database. Det, de er dårlige til, er alt det, der foregår uden for koden: signering af appen, opsætning af App Store Connect, abonnementer, [Apples review](https://devoria.fr/da/kits/review-apple) og de crashes, der kun viser sig på en rigtig iPhone.

Med andre ord sparer AI'en dig for uger på den mest synlige del af arbejdet og lader dig stå alene med den del, der afgør, om din app nogensinde udkommer. Den her guide viser dig, hvor grænsen går, hvordan du styrer AI'en, så den forbliver nyttig, og hvordan du tjekker det, den laver, før Apple eller dine brugere gør det for dig.

Jeg koder mine egne iOS-apps med Claude og Cursor hver dag. Solys, et vækkeur med minispil, og TradaZen, en tradingsimulator, ligger i App Store. Nolera og Clic blev afvist af Apple og derefter rettet. Alt, hvad der følger, kommer fra det arbejde, ikke fra en demo. Hvis du stadig er i tvivl om værktøjet, sammenligner jeg [Claude Code, Cursor og ChatGPT til en iPhone-app](https://devoria.fr/da/blog/hvilken-ai-lave-app-codex-claude-cursor) i en separat guide.

## Det, AI virkelig er god til

### Skærme og navigation

Beskriv en skærm præcist (hvad den viser, hvad hver knap gør, hvad der sker, når listen er tom), og AI'en giver dig en pæn komponent på få sekunder. Det er her, gevinsten er mest markant, især med React Native og Expo, fordi AI'en har set enormt meget kode af den type. Det er i øvrigt den stack, jeg bruger i alle mine apps, og jeg forklarer hvorfor på siden [React Native og Expo til en mobilapp](https://devoria.fr/da/expertise/mobilapp-react-native-expo).

### Simpel forretningslogik

Beregne en score, sortere en liste, formatere en dato, validere en formular: AI'en klarer det hurtigt og ret godt, så længe du giver den grænsetilfældene. En tom liste, et felt, der er for langt, en dato i en anden tidszone. Hvis du ikke nævner dem, håndterer den dem ikke altid.

### Forklare det, du ikke forstår

Det er den mest undervurderede brug. Indsæt en fejlbesked, et stykke konfiguration eller en afvisning fra Apple, og spørg "forklar mig, hvad det betyder, uden at rette noget". Du lærer hurtigere end ved at læse en tutorial, fordi forklaringen handler om dit eget projekt.

### Tilkobling af en backend

Oprette tabeller i Supabase, skrive en funktion, der læser den indloggede brugers data, håndtere loading-tilstanden: AI'en kender de værktøjer godt. Hold bare øje med sikkerheden, det vender vi tilbage til længere nede.

## Det, AI overser, når du laver en iOS-app

Det er den del, ingen viser dig i "jeg lavede en app på en weekend"-videoerne. Hvert af de her punkter kan blokere din udgivelse i dagevis, og så har vi ikke engang talt om de automatiske tjek ved upload, som ITMS-90338 for ikke-offentlige API'er.

### Signering og certifikater

For at køre på en iPhone og komme i App Store skal din app signeres med et certifikat og en provisioning profile, der er knyttet til din Apple Developer-konto. AI'en kan forklare dig princippet, men den kender ikke din konto uden autoriseret adgang. Nogle gange finder den på trin, der ikke findes længere, eller blander Xcode-metoden og Expo-metoden sammen, hvilket kan ende med ITMS-90034 ved upload. Med EAS Build er det værktøjet, der genererer og holder styr på de filer for dig, push-nøglen inklusive: lad det gøre arbejdet i stedet for at følge en gættet fremgangsmåde.

### Opsætning af App Store Connect

Appens side, bundle-id'et, [privatlivserklæringerne](https://devoria.fr/da/blog/guideline-5-1-2-tredjeparts-ai-att-datadeling), spørgsmålet om kryptering, screenshots, links til brugsbetingelserne: de oplysninger skal passe til den indsendte version. Nogle agenter kan handle i en logget ind browser, som [Claude Code med Chrome](https://code.claude.com/docs/en/chrome). Den adgang skal være autoriseret, og resultatet skal tjekkes. En fremgangsmåde, der bliver remset op uden at læse den aktuelle brugerflade, kan være forældet.

### Abonnementer

Det er her, AI'en får dig til at spilde mest tid. Koden til en paywall er nem. Det svære er sammenhængen mellem tre steder: produkterne oprettet i App Store Connect, deres opsætning i RevenueCat og koden, der viser dem. Et id, der afviger med ét tegn, et produkt, der endnu ikke er sendt til review sammen med versionen, og din paywall vises tom hos revieweren. AI'en kan læse de konsoller, hvis du giver den passende adgang. Uden den adgang kan den ikke tjekke, om de passer med koden. Hele opgaven er beskrevet på siden [in-app-abonnementer på iOS](https://devoria.fr/da/expertise/abonnement-i-app-ios).

### Apples review

AI'en kender hovedlinjerne i App Review Guidelines, men den kan ikke se på din app med en reviewers øjne. Den fortæller dig ikke af sig selv, at en obligatorisk skærm er skåret af på en lille iPhone, at en anmodning om bedømmelse kommer for tidligt, at der mangler en demokonto i review-noterne, eller at din app ligner en hjemmeside for meget til [guideline 4.2](https://devoria.fr/da/blog/guideline-4-2-minimum-functionality-app-afvist). De to første er afvisninger, jeg rent faktisk har fået på Solys, og jeg fortæller om dem i [hvorfor Apple afviser en app](https://devoria.fr/da/blog/apple-afviser-app-afvisninger-guidelines).

### Crashes på en rigtig iPhone

Simulatoren og udviklingsappen tilgiver mange ting. En rigtig iPhone i produktion gør ikke. Et native modul, der mangler i buildet, en tilladelse uden forklarende tekst, data, der læses for tidligt ved opstart: appen åbner og lukker med det samme, uden besked. En agent kan køre tests eller analysere screenshots, men kun hvis testopsætningen tillader det. Et resultat fra simulatoren godkender ikke i sig selv den binære fil, der er installeret på din iPhone. Det er op til dig at installere appen på din telefon før hver indsendelse, og [TestFlight](https://devoria.fr/da/blog/testflight-test-iphone-app-for-apple) er lavet til netop det.

> AI'en skriver kode, der ser rigtig ud. Kun en test på din iPhone fortæller dig, om den er det.

## Sådan styrer du AI'en, så den forbliver nyttig

Problemet er næsten aldrig modellens intelligens. Det er det, du giver den at læse.

### Giv den din kontekst, én gang for alle

Skriv en kort fil i roden af projektet, der beskriver din stack (Expo, SDK-versionen, Supabase, RevenueCat), mappestrukturen og dine regler. Claude Code læser en `CLAUDE.md`-fil, Cursor har sine egne regelfiler. Uden den kontekst gætter AI'en, og den gætter ofte på en anden stack end din. Min [tutorial i at lave en app med Claude Code](https://devoria.fr/da/blog/lav-en-app-med-claude-code-iphone-tutorial) giver et komplet eksempel på den fil.

### Del op i små opgaver

"Lav en vanetracker-app med abonnement til mig" giver et enormt og skrøbeligt projekt. "Lav skærmen, der viser dagens vaner, med en tom tilstand og en loading-tilstand" giver en skærm, du kan læse igennem og teste på fem minutter. Én opgave, ét resultat, du kan tjekke, og så den næste.

### Bed om en plan før koden

Til alt, der berører flere filer, så start med "foreslå en plan, kod ikke endnu". Du læser planen, retter det, der ikke holder, og sætter i gang. Sådan undgår du overraskende omskrivninger, hvor AI'en omskriver halvdelen af dit projekt for at tilføje en knap.

### Få den til at læse den aktuelle dokumentation

Værktøjerne ændrer sig hurtigt: Expo, RevenueCat og App Store Connect ændrer sig jævnligt. Når et svar virker tvivlsomt, så indsæt den officielle dokumentationsside i samtalen, eller brug et værktøj, der giver den til AI'en. En AI, der læser dagens dokumentation, tager langt mindre fejl end en AI, der husker den fra for to år siden.

### Behold styringen over beslutningerne

AI'en foreslår, du bestemmer. Valget af idé, pris, og hvad appen ikke skal kunne: det er dit job. Hvis du lader AI'en tilføje hver funktion, den foreslår, får du en app, der gør ti ting middelmådigt i stedet for én ting rigtig godt. For at afgrænse en første version kan du læse siden [MVP af en iOS-app](https://devoria.fr/da/expertise/mvp-ios-app).

## Sådan tjekker du det, AI'en laver

Det er den kompetence, der adskiller dem, der udgiver, fra dem, der samler på halvfærdige projekter.

### Læs hver ændring igennem

Du behøver ikke forstå alt linje for linje. Men du skal kunne svare på tre spørgsmål: hvilke filer er ændret, hvorfor, og passer det med det, jeg bad om? Hvis AI'en har rørt en fil, der ikke har noget med din forespørgsel at gøre, så spørg den hvorfor, før du accepterer.

### Test på din iPhone, ikke kun på computeren

Installer appen på din egen telefon så hurtigt som muligt og derefter ved hvert vigtigt trin. Tjek første opstart efter installation, flytilstand, en lille skærm og en stor skærm, og tastaturet åbent på formularer. Det er den regel, jeg følger før hver indsendelse til Apple, på hver eneste af mine apps.

### Tilføj værktøjer, der ser det, du ikke ser

I mine apps rapporterer Sentry crashes med den kodelinje, der er skyld i dem, og PostHog viser, hvor brugerne falder fra. Uden dem forbliver en fejl i produktion usynlig, indtil der tikker en dårlig bedømmelse ind. AI'en kan hjælpe dig med at installere dem. Du skal selv se på, hvad de fortæller dig.

### Hold øje med datasikkerheden

Når AI'en opretter tabeller i Supabase, så tjek, at adgangsreglerne (RLS-politikkerne) faktisk er aktive: hver bruger må kun kunne læse sine egne data. Tjek også, at ingen hemmelig nøgle ender i appens kode, som kan dekompileres. Det er to fejl, AI'en nemt begår, hvis du ikke forbyder den det.

### Stil den det omvendte spørgsmål

Når koden er skrevet, så spørg: "hvad kan gå i stykker her?" eller "læs koden igennem som en Apple-reviewer". Den samme model, der skrev koden, finder ofte sine egne forglemmelser, når du ændrer vinklen på spørgsmålet. Det erstatter ikke din test på iPhone, men det skærer ned på frem og tilbage.

## Den realistiske vej, når du er nybegynder

1. **Vælg en bitte lille idé**: én hovedfunktion, ikke ti.
2. **Installer en stack, som AI'en kender godt**: Expo, React Native, Supabase, hvis du har brug for brugerkonti.
3. **Byg skærm for skærm** med én lille opgave pr. forespørgsel og en test ved hvert trin.
4. **Test på din iPhone** med et development build og derefter med TestFlight.
5. **Kobl pengene på**: produkter i App Store Connect, RevenueCat, paywall.
6. **Forbered App Store-materialet**: appside, [screenshots](https://devoria.fr/da/kits/captures-app-store), privatliv, noter til revieweren.
7. **Send til Apple**, læs svaret grundigt, og ret det, der bliver bedt om.

Hvert trin har sine faldgruber, og AI'en hjælper dig med halvdelen af dem. For overblikket beskriver siden [lav en iPhone-app](https://devoria.fr/da/expertise/lav-en-iphone-app) hele forløbet. Og hvis du spekulerer på, hvor langt man kan komme uden selv at skrive en eneste linje kode, så læs [lav en app uden at kode](https://devoria.fr/da/blog/lav-en-app-uden-at-kode-no-code-ai).

## Lav din iOS-app med AI, helt frem til App Store

AI har ændret, hvem der kan lave en iOS-app. Den har ikke ændret, hvad Apple kræver for at udgive den, eller hvad der skal til, for at den får sine første abonnenter. Det er den del, jeg har lagt i [iOS Kit](https://devoria.fr/da/kits/ios): startkoden fra mine apps, abonnementer inklusive, og Claude Code-skills til hvert trin. Forløbet er beskrevet ud fra dit værktøj: [Claude Code-kursus](https://devoria.fr/da/expertise/claude-code-kursus-ios-app) eller [vibe coding-kursus](https://devoria.fr/da/expertise/vibe-coding-kursus-iphone-app). Forsiden viser, hvordan du [laver en mobilapp](https://devoria.fr/da) på den måde, trin for trin.

Ved du ikke, hvad der blokerer dig, koden, AI'en eller Apple? Den [gratis diagnose](https://devoria.fr/da/diagnostic) fortæller dig det og sender dig min tjekliste mod afvisninger fra Apple.

Jeg lover dig hverken indtægt eller udgivelse: det er Apple, der bestemmer godkendelsen, og markedet, der bestemmer resten. Det, jeg giver dig, er den metode, jeg selv bruger på mine apps.

## Ofte stillede spørgsmål

### Kan man lave en iOS-app med AI som nybegynder?

Ja. AI er rigtig god til at skrive skærme, navigation, simpel logik og kald til en database. Den er dårlig til alt, der foregår uden for koden. Det gælder signering, App Store Connect, abonnementer, Apples review og crashes, der kun viser sig på en rigtig iPhone.

### Hvilken AI skal man bruge til at lave en iOS-app?

Claude, ChatGPT og Cursor er rigtig gode til at skrive skærme, navigation og simpel logik. Problemet er næsten aldrig modellens intelligens, men det, du giver den at læse. Giv den din stack, dine regler og den aktuelle dokumentation. Jeg sammenligner [Claude Code, Cursor og ChatGPT til en iPhone-app](https://devoria.fr/da/blog/hvilken-ai-lave-app-codex-claude-cursor) i en separat guide.

### Kan ChatGPT lave en app?

Ja, til den synlige del: ChatGPT er, ligesom Claude og Cursor, rigtig god til at skrive skærme, navigation, simpel logik og kald til en database. Men den kender ikke din Apple-konto uden autoriseret adgang, og den ser ikke på din app med en reviewers øjne. Kun en test på din iPhone fortæller dig, om koden er rigtig.

### Hvordan laver man sin egen app med AI, trin for trin?

Vælg en bitte lille idé med én hovedfunktion. Installer en stack, som AI'en kender godt: Expo, React Native og Supabase, hvis du har brug for brugerkonti. Byg skærm for skærm med én lille opgave pr. forespørgsel og en test ved hvert trin. Test på din iPhone med et development build og derefter TestFlight, før du kobler pengene på, forbereder App Store-materialet og sender til Apple.

### Hvordan kontrollerer man kode skrevet af AI?

Læs hver ændring igennem: hvilke filer er ændret, hvorfor, og passer det med din forespørgsel? Installer appen på din egen iPhone så hurtigt som muligt og derefter ved hvert vigtigt trin. Tjek, at Supabases adgangsregler, RLS-politikkerne, er aktive. Tjek også, at ingen hemmelig nøgle ender i appens kode, som kan dekompileres.

### Hvorfor vises en paywall skrevet af AI tom hos revieweren?

Koden til en paywall er nem. Det sværeste er sammenhængen mellem tre steder: produkterne i App Store Connect, deres opsætning i RevenueCat og koden, der viser dem. Et id, der afviger med ét tegn, eller et produkt, der endnu ikke er sendt til review, gør paywallen tom. Uden passende adgang til de konsoller kan AI'en ikke tjekke den sammenhæng.


## Dit projekt

[iOS Kit](https://devoria.fr/da/kits/ios): Lav din iPhone-app med Claude Code: Starter Code fra mine apps, skills der tjekker arbejdet, og Apple Review Kit, App Store Screenshots Kit og ASO Kit. 129,99 €.
