# Build an iOS App with AI: Pitfalls and Checks

> Claude, ChatGPT and Cursor write your iOS code fast. Signing, subscriptions, App Review, real iPhone: what they miss and how to check everything.

Original page: [Build an iOS App with AI: Pitfalls and Checks](https://devoria.fr/en/blog/build-ios-app-with-ai-pitfalls-checks)
Author: [Mehdi Azizi](https://devoria.fr/en/mehdi-azizi)
Published: 2026-09-23
Content last revised: 2026-10-09


## Building an iOS app with AI: the short answer

Yes, you can build an iOS app with AI as a beginner. This way of building has a name: [vibe coding](https://devoria.fr/en/blog/vibe-coding-what-it-is-tools-limits). Claude, ChatGPT or Cursor are very good at writing screens, navigation, simple logic and database calls. What they do badly is everything that happens outside the code: signing the app, setting up App Store Connect, subscriptions, [Apple's review](https://devoria.fr/en/kits/review-apple) and crashes that only show up on a real iPhone.

In other words, AI saves you weeks on the most visible part of the work, and leaves you alone on the part that decides whether your app ever ships. This guide shows you where that line is, how to guide the AI so it stays useful, and how to check what it produces before Apple or your users do it for you.

I code my own iOS apps with Claude and Cursor, every day. Solys, an alarm clock with mini-games, and TradaZen, a trading simulator, are on the App Store. Nolera and Clic were rejected by Apple, then fixed. Everything below comes from that work, not from a demo. If you're still unsure which tool to pick, I compare [Claude Code, Cursor and ChatGPT for an iPhone app](https://devoria.fr/en/blog/best-ai-build-app-codex-claude-code-cursor) in a separate guide.

## What AI actually does well

### Screens and navigation

Describe a screen precisely (what it shows, what each button does, what happens when the list is empty) and the AI hands you a clean component in seconds. That's where the gain is most spectacular, especially with React Native and Expo, because the AI has seen a huge amount of this kind of code. It's also the stack I use on all my apps, and I explain why on the [React Native and Expo for a mobile app](https://devoria.fr/en/expertise/react-native-expo-mobile-app) page.

### Simple business logic

Calculating a score, sorting a list, formatting a date, validating a form: AI does it fast and fairly well, as long as you give it the edge cases. An empty list, a field that's too long, a date in another time zone. If you don't name them, it won't always handle them.

### Explaining what you don't understand

This is the most underrated use. Paste an error message, a piece of config or an Apple rejection, and ask "explain what this means, don't fix anything." You learn faster than by reading a tutorial, because the explanation is about your own project.

### Hooking up a backend

Creating tables in Supabase, writing a function that reads the logged-in user's data, handling the loading state: AI knows these tools well. Just keep an eye on security, more on that below.

## What AI misses when you build an iOS app

This is the part nobody shows you in the "I built an app in a weekend" videos. Each of these points can block your release for days, not counting the automated checks at upload, like ITMS-90338 for non-public APIs.

### Signing and certificates

To run on an iPhone and get on the App Store, your app has to be signed with a certificate and a provisioning profile tied to your Apple Developer account. The AI can explain the principle, but it doesn't know your account without authorized access. It sometimes invents steps that no longer exist, or mixes up the Xcode method and the Expo method, which can end in ITMS-90034 at upload. With EAS Build, the tool generates and stores these files for you, push key included: let it do that instead of following a guessed procedure.

### App Store Connect setup

The app listing, the bundle ID, [the privacy declarations](https://devoria.fr/en/blog/guideline-5-1-2-third-party-ai-att-data-sharing), the encryption question, screenshots, links to the terms of use: this information has to match the submitted version. Some agents can act in a logged-in browser, like [Claude Code with Chrome](https://code.claude.com/docs/en/chrome). That access has to be authorized and the result checked; a procedure recited without reading the current interface may be out of date.

### Subscriptions

This is where AI wastes the most of your time. The code for a paywall is easy. The hard part is consistency across three places: the products created in App Store Connect, their configuration in RevenueCat, and the code that displays them. One identifier that's off by a single character, one product not yet submitted for review with the version, and your paywall shows up empty for the reviewer. The AI can read these consoles if you give it the right access; without that access, it can't check that they match the code. The full process is covered on the [iOS in-app subscriptions](https://devoria.fr/en/expertise/ios-in-app-subscription) page.

### Apple's review

AI knows the broad strokes of the App Review Guidelines, but it can't look at your app through a reviewer's eyes. It won't tell you on its own that a required screen is cut off on a small iPhone, that a rating prompt shows up too early, that a demo account is missing from the review notes, or that your app looks too much like a website for [guideline 4.2](https://devoria.fr/en/blog/guideline-4-2-minimum-functionality-app-rejected). The first two are rejections I actually got on Solys, told in [why Apple rejects an app](https://devoria.fr/en/blog/apple-app-rejection-real-cases).

### Crashes on a real iPhone

The simulator and the development app forgive a lot. A real iPhone in production doesn't. A native module missing from the build, a permission with no explanation text, reading data too early at launch: the app opens and closes instantly, with no message. An agent can run tests or analyze screenshots, but only if the verification setup allows it. A simulator result alone doesn't validate the binary installed on your iPhone. It's up to you to install the app on your phone before every upload, and [TestFlight](https://devoria.fr/en/blog/testflight-test-iphone-app-before-submitting) is made for that.

> AI writes code that looks right. Only a test on your iPhone tells you if it is.

## How to guide the AI so it stays useful

The problem is almost never the model's intelligence. It's what you give it to read.

### Give it your context, once and for all

Write a short file at the root of the project describing your stack (Expo, the SDK version, Supabase, RevenueCat), the folder structure and your rules. Claude Code reads a `CLAUDE.md` file, Cursor has its own rules files. Without that context, the AI guesses, and it often guesses a different stack from yours. My [tutorial to build an app with Claude Code](https://devoria.fr/en/blog/build-app-claude-code-iphone-tutorial) gives a full example of this file.

### Break it into small tasks

"Build me a habit tracking app with a subscription" produces a huge, fragile project. "Build the screen that lists today's habits, with an empty state and a loading state" produces a screen you can review and test in five minutes. One task, one verifiable result, then the next.

### Ask for a plan before the code

For anything that touches several files, start with "propose a plan, don't code yet." You read the plan, fix what's wrong, then go. That way you avoid surprise rewrites where the AI rewrites half your project to add a button.

### Make it read up-to-date docs

Tools move fast: Expo, RevenueCat and App Store Connect change regularly. When an answer looks doubtful, paste the official documentation page into the conversation, or use a tool that feeds it in. An AI reading today's docs makes far fewer mistakes than one remembering the docs from two years ago.

### Stay in charge of the decisions

The AI proposes, you decide. Choosing the idea, the price, what the app won't do: that's your job. If you let the AI add every feature it suggests, you end up with an app that does ten things so-so instead of one thing really well. To scope a first version, read the [iOS app MVP](https://devoria.fr/en/expertise/ios-app-mvp) page.

## How to check what the AI produces

This is the skill that separates people who ship from people who pile up half-finished projects.

### Review every change

You don't need to understand everything line by line. But you need to be able to answer three questions: which files changed, why, and does it match what I asked for. If the AI touched a file unrelated to your request, ask it why before accepting.

### Test on your iPhone, not just on your computer

Install the app on your own phone as early as possible, then at every major step. Check the first launch after install, airplane mode, a small screen and a large screen, the keyboard open on forms. That's the rule I apply before every submission to Apple, on every one of my apps.

### Add tools that see what you don't

On my apps, Sentry reports crashes with the offending line of code, and PostHog shows where users drop off. Without them, a production bug stays invisible until a bad rating lands. The AI can help you install them; you're the one who has to look at what they tell you.

### Watch your data security

When the AI creates tables in Supabase, check that the access rules (RLS policies) are actually enabled: each user should only read their own data. Also check that no secret key ends up in the app's code, which can be decompiled. These are two mistakes AI makes easily if you don't forbid them.

### Ask it the opposite question

Once the code is written, ask: "what can break here?" or "review this code like an Apple reviewer." The same model that wrote the code often finds its own gaps when you change the angle of the question. It doesn't replace your iPhone test, but it cuts down the back-and-forth.

## The realistic path when you're starting out

1. **Pick a tiny idea**: one main feature, not ten.
2. **Set up a stack the AI knows well**: Expo, React Native, Supabase if you need accounts.
3. **Build screen by screen**, with one small task per request and a test at each step.
4. **Test on your iPhone** with a development build, then with TestFlight.
5. **Hook up the money**: products in App Store Connect, RevenueCat, paywall.
6. **Prepare your App Store submission**: listing, [screenshots](https://devoria.fr/en/kits/captures-app-store), privacy, notes for the reviewer.
7. **Submit to Apple**, read the response carefully, fix what's requested.

Each step has its pitfalls, and AI helps you with half of them. For the big picture, the [build an iPhone app](https://devoria.fr/en/expertise/create-an-iphone-app) page covers the full journey. And if you're wondering how far you can go without writing a line of code yourself, read [build an app without coding](https://devoria.fr/en/blog/build-app-without-coding-no-code-ai).

## Building your iOS app with AI, all the way to the App Store

AI changed who can build an iOS app. It didn't change what Apple requires to publish it, or what it takes for it to bring in its first subscriptions. That's the part I put into the [iOS Kit](https://devoria.fr/en/kits/ios): the starter code from my apps, subscriptions included, and the Claude Code skills for each step. The path is laid out by tool: [Claude Code training](https://devoria.fr/en/expertise/claude-code-course-ios-app) or [vibe coding training](https://devoria.fr/en/expertise/vibe-coding-course-iphone-app). The home page shows how to [build a mobile app](https://devoria.fr/en) this way, step by step.

Not sure what's blocking you, the code, the AI or Apple? The [free diagnostic](https://devoria.fr/en/diagnostic) tells you and sends you my checklist for avoiding Apple rejections.

I'm not promising you income or a release: Apple decides on approval, and the market decides the rest. What I'm giving you is the method I use myself on my apps.

## Frequently asked questions

### Can you build an iOS app with AI as a beginner?

Yes. AI is very good at writing screens, navigation, simple logic and database calls. It does badly at everything that happens outside the code. That covers signing, App Store Connect, subscriptions, Apple's review and crashes that only show up on a real iPhone.

### Which AI should you use to build an iOS app?

Claude, ChatGPT or Cursor are very good at writing screens, navigation and simple logic. The problem is almost never the model's intelligence, but what you give it to read. Give it your stack, your rules and up-to-date docs. I compare [Claude Code, Cursor and ChatGPT for an iPhone app](https://devoria.fr/en/blog/best-ai-build-app-codex-claude-code-cursor) in a separate guide.

### Can ChatGPT build an app?

Yes for the visible part: ChatGPT, like Claude or Cursor, is very good at writing screens, navigation, simple logic and database calls. But it doesn't know your Apple account without authorized access, and it doesn't look at your app through a reviewer's eyes. Only a test on your iPhone tells you if the code is right.

### How do you build your own app with AI, step by step?

Pick a tiny idea with a single main feature. Set up a stack the AI knows well: Expo, React Native, and Supabase if you need accounts. Build screen by screen, with one small task per request and a test at each step. Test on your iPhone with a development build, then TestFlight, before hooking up the money, preparing your App Store submission and submitting to Apple.

### How do you check code written by AI?

Review every change: which files changed, why, and whether it matches your request. Install the app on your own iPhone as early as possible, then at every major step. Check that Supabase's access rules, the RLS policies, are enabled. Also check that no secret key ends up in the app's code, which can be decompiled.

### Why does an AI-written paywall show up empty for the reviewer?

The code for a paywall is easy. The hard part is consistency across three places: the App Store Connect products, their configuration in RevenueCat and the code that displays them. One identifier off by a single character, or a product not yet submitted for review, leaves the paywall empty. Without the right access to these consoles, the AI can't check that consistency.


## Your project

[iOS Kit](https://devoria.fr/en/kits/ios): Build your iPhone app with Claude Code: the starter code behind my apps, skills that check its work, and the Apple Review, Screenshots and ASO kits. 129,99 €.
