# 用AI开发iOS应用：常见陷阱与检查方法

> AI能快速写iOS代码，但签名、订阅、苹果审核和真机崩溃它常出错。本文教你逐项检查。

原始页面：[用AI开发iOS应用：常见陷阱与检查方法](https://devoria.fr/zh-hans/blog/build-ios-app-with-ai-pitfalls-checks)
作者：[Mehdi Azizi](https://devoria.fr/zh-hans/mehdi-azizi)
发布：2026-09-23
内容最后修订：2026-10-09


## 用 AI 开发 iOS 应用：简短回答

可以，就算你是新手，也能用 AI 开发 iOS 应用。这种开发方式有个名字，叫[氛围编程（vibe coding）](https://devoria.fr/zh-hans/blog/what-is-vibe-coding-definition-tools-limits)。Claude、ChatGPT 或 Cursor 写界面、导航、简单逻辑和数据库调用都写得很好。它们做不好的，是代码之外的一切：应用签名、App Store Connect 配置、订阅、[苹果审核](https://devoria.fr/zh-hans/kits/review-apple)，以及只在真机 iPhone 上才会出现的崩溃。

换句话说，AI 在最显眼的那部分工作上帮你省下好几周，却把决定你的 app 能不能上线的那部分留给你自己。这篇指南告诉你界线在哪里、怎么引导 AI 让它一直有用，以及怎么在苹果或你的用户替你发现问题之前，先检查它产出的东西。

我每天都用 Claude 和 Cursor 开发自己的 iOS 应用。Solys（一款带小游戏的闹钟）和 TradaZen（一款交易模拟器）已经上架 App Store。Nolera 和 Clic 曾被苹果拒绝，后来改好了。下面所有内容都来自这些实际工作，不是演示。如果你还在纠结用哪个工具，我在另一篇指南里比较了[开发 iPhone 应用时的 Claude Code、Cursor 和 ChatGPT](https://devoria.fr/zh-hans/blog/which-ai-to-build-an-app-codex-claude-code-cursor)。

## AI 真正擅长的事

### 界面和导航

把一个界面描述清楚（显示什么、每个按钮做什么、列表为空时怎么办），AI 几秒钟就能给你一个干净的组件。这是提速最惊人的地方，尤其是用 React Native 和 Expo 时，因为 AI 见过大量这类代码。这也正是我所有 app 用的技术栈，原因我在[用 React Native 和 Expo 开发移动应用](https://devoria.fr/zh-hans/expertise/react-native-expo-mobile-app)这一页里讲了。

### 简单的业务逻辑

计算分数、排序列表、格式化日期、校验表单：AI 做得又快又不错，前提是你把边界情况告诉它。空列表、过长的输入、另一个时区的日期。你不点名，它不一定会处理。

### 解释你看不懂的东西

这是最被低估的用法。贴一条报错、一段配置或一条苹果的拒绝信息，然后说“给我解释这是什么意思，先别改”。你会比看教程学得更快，因为解释针对的是你自己的项目。

### 接入后端

在 Supabase 里建表、写一个读取当前登录用户数据的函数、处理加载状态：AI 对这些工具很熟。只是要盯着安全问题，后面会讲。

## 用 AI 开发 iOS 应用时，AI 会漏掉什么

这部分是那些“我一个周末做了个 app”的视频里没人给你看的。其中每一点都可能让你的发布卡上好几天，更别提上传时的自动检查，比如针对非公开 API 的 ITMS-90338。

### 签名和证书

要在 iPhone 上运行并上架 App Store，你的 app 必须用和你的 Apple Developer 账号绑定的证书和描述文件（provisioning profile）签名。AI 能给你讲原理，但没有授权访问，它并不了解你的账号。它有时会编造已经不存在的步骤，或者把 Xcode 的方法和 Expo 的方法混在一起，上传时就可能出现 ITMS-90034。用 EAS Build 的话，是这个工具替你生成并管理这些文件，包括推送密钥：交给它就好，别照着猜出来的流程操作。

### App Store Connect 的配置

应用信息页、Bundle ID、[隐私声明](https://devoria.fr/zh-hans/blog/guideline-5-1-2-third-party-ai-att-data-sharing)、加密相关的问题、截图、使用条款链接：这些信息都必须和提交的版本一致。有些智能体可以在已登录的浏览器里操作，比如 [Claude Code 配合 Chrome](https://code.claude.com/docs/en/chrome)。这种访问必须经过授权，结果也必须核实；不看当前界面、照本宣科的流程可能已经过时。

### 订阅

这是 AI 最让你浪费时间的地方。付费墙（paywall）的代码很简单。难的是三个地方保持一致：App Store Connect 里创建的产品、它们在 RevenueCat 里的配置，以及展示它们的代码。一个标识符差一个字符，或者某个产品没跟版本一起提交审核，你的付费墙在审核员那里就会显示为空。如果你给了 AI 合适的权限，它可以读取这些后台；没有这些权限，它就没法核对它们和代码是否一致。完整流程见 [iOS 应用内订阅](https://devoria.fr/zh-hans/expertise/ios-in-app-subscription)这一页。

### 苹果审核

AI 知道 App Review Guidelines 的大致内容，但它不会用审核员的眼光看你的 app。它不会主动告诉你：某个必需的界面在小屏 iPhone 上被截断了、评分请求弹得太早、审核备注里缺了演示账号，或者你的 app 太像一个网站，触犯[准则 4.2](https://devoria.fr/zh-hans/blog/guideline-4-2-minimum-functionality-rejection)。前两个是我在 Solys 上真实吃过的拒绝，写在[苹果为什么拒绝你的 app](https://devoria.fr/zh-hans/blog/apple-app-rejection-reasons-real-cases)里。

### 真机 iPhone 上的崩溃

模拟器和开发版 app 能容忍很多问题。生产环境下的真机 iPhone 不会。构建里缺了某个原生模块、某个权限没写说明文字、启动时过早读取数据：app 打开就立刻闪退，没有任何提示。智能体可以跑测试或分析截图，但前提是验证环境允许。模拟器上的结果本身并不能证明装在你 iPhone 上的二进制没问题。每次提交之前，都得你自己把 app 装到手机上，[TestFlight](https://devoria.fr/zh-hans/blog/testflight-guide-test-iphone-app) 就是干这个的。

> AI 写出的代码看起来是对的。只有在你的 iPhone 上测试，才知道它是不是真的对。

## 怎么引导 AI，让它一直有用

问题几乎从来不在模型够不够聪明，而在你给它读了什么。

### 一次性把上下文交代清楚

在项目根目录写一个简短的文件，说明你的技术栈（Expo、SDK 版本、Supabase、RevenueCat）、目录结构和你的规则。Claude Code 会读 `CLAUDE.md` 文件，Cursor 有自己的规则文件。没有这些上下文，AI 只能猜，而且经常猜成别的技术栈。我的[用 Claude Code 开发应用教程](https://devoria.fr/zh-hans/blog/claude-code-iphone-app-tutorial)里有这个文件的完整示例。

### 拆成小任务

“给我做一个带订阅的习惯追踪 app”会产出一个庞大又脆弱的项目。“做一个列出今日习惯的界面，包含空状态和加载状态”会产出一个你五分钟就能看完、测完的界面。一个任务，一个可验证的结果，然后下一个。

### 先要计划，再写代码

凡是涉及多个文件的改动，先说“给出计划，先别写代码”。你审一遍计划，改掉不对的地方，再让它动手。这样就能避免那种为了加一个按钮、AI 把你半个项目重写了的意外。

### 让它读最新的文档

这些工具变化很快：Expo、RevenueCat 和 App Store Connect 都在不断更新。觉得某个回答可疑时，把官方文档页面贴进对话，或者用一个能把文档提供给它的工具。读今天文档的 AI，比记着两年前文档的 AI 犯错少得多。

### 决策权握在自己手里

AI 提建议，你做决定。选什么点子、定什么价、app 不做什么：这是你的工作。如果你让 AI 把它建议的每个功能都加上，最后得到的是一个十件事都做得一般的 app，而不是一件事做得很好的 app。要给第一个版本划定范围，看看 [iOS 应用 MVP](https://devoria.fr/zh-hans/expertise/ios-app-mvp) 这一页。

## 怎么检查 AI 产出的东西

能发布上线的人和攒了一堆半成品的人，差别就在这项能力上。

### 每次修改都要过一遍

你不需要逐行看懂。但你得能回答三个问题：改了哪些文件、为什么改、是不是符合我的要求。如果 AI 动了一个和你的需求无关的文件，接受之前先问它为什么。

### 在你的 iPhone 上测试，不只在电脑上

尽早把 app 装到你自己的手机上，之后每到一个重要阶段都装一次。检查安装后的首次启动、飞行模式、小屏和大屏、表单上键盘弹出的情况。我每个 app 每次提交给苹果之前，都按这条规则来。

### 加上能看到你看不到的东西的工具

在我的 app 里，Sentry 会上报崩溃并指出出错的代码行，PostHog 会显示用户在哪里流失。没有它们，生产环境的 bug 一直是隐形的，直到差评出现。AI 可以帮你装好它们；看它们告诉你什么，是你的事。

### 盯紧数据安全

AI 在 Supabase 里建表时，检查访问规则（RLS 策略）是否真的启用了：每个用户只能读取自己的数据。还要检查 app 代码里没有混进任何密钥，因为 app 代码可以被反编译。这两个错误，你不明确禁止的话，AI 很容易犯。

### 反过来问它

代码写完后，问：“这里什么地方可能出问题？”或者“像苹果审核员一样审查这段代码”。写代码的同一个模型，换个提问角度，常常能找出自己的疏漏。这代替不了你在 iPhone 上的测试，但能减少来回折腾。

## 新手的现实路线

1. **选一个极小的点子**：一个核心功能，不是十个。
2. **装一套 AI 熟悉的技术栈**：Expo、React Native，需要账号系统的话再加 Supabase。
3. **一个界面一个界面地做**，每次请求一个小任务，每一步都测试。
4. **在你的 iPhone 上测试**，先用开发构建，再用 TestFlight。
5. **接入收费**：在 App Store Connect 里创建产品、RevenueCat、付费墙。
6. **准备 App Store 资料**：应用信息页、[截图](https://devoria.fr/zh-hans/kits/captures-app-store)、隐私、给审核员的备注。
7. **提交给苹果**，仔细阅读回复，按要求修改。

每一步都有坑，AI 能帮你避开其中一半。想看全貌，[开发 iPhone 应用](https://devoria.fr/zh-hans/expertise/create-an-iphone-app)这一页详细讲了完整流程。如果你想知道完全不自己写一行代码能走多远，看看[不写代码开发应用](https://devoria.fr/zh-hans/blog/create-app-without-coding-no-code-ai)。

## 用 AI 开发你的 iOS 应用，一直到上架 App Store

AI 改变了谁能开发 iOS 应用。它没有改变苹果对上架的要求，也没有改变 app 拿到第一批订阅收入需要做的事。这部分我都放进了 [iOS Kit](https://devoria.fr/zh-hans/kits/ios)：我自己 app 的起步代码（包括订阅），以及每一步的 Claude Code skills。按你用的工具，流程有详细说明：[Claude Code 培训](https://devoria.fr/zh-hans/expertise/claude-code-course-ios-app)或[氛围编程培训](https://devoria.fr/zh-hans/expertise/vibe-coding-course-iphone-app)。首页一步步展示了怎么用这种方式[开发移动应用](https://devoria.fr/zh-hans)。

不知道卡住你的是代码、AI 还是苹果？[免费诊断](https://devoria.fr/zh-hans/diagnostic)会告诉你，并把我的苹果防拒审核清单发给你。

我不承诺收入，也不承诺能上架：审核通不通过由苹果决定，其余的由市场决定。我给你的，是我自己在 app 上实际用的方法。

## 常见问题

### 新手能用 AI 开发 iOS 应用吗？

能。AI 写界面、导航、简单逻辑和数据库调用都写得很好。它做不好的是代码之外的一切，包括签名、App Store Connect、订阅、苹果审核，以及只在真机 iPhone 上才出现的崩溃。

### 开发 iOS 应用该用哪个 AI？

Claude、ChatGPT 或 Cursor 写界面、导航和简单逻辑都写得很好。问题几乎从来不在模型够不够聪明，而在你给它读了什么。把你的技术栈、规则和最新文档给它。我在另一篇指南里比较了[开发 iPhone 应用时的 Claude Code、Cursor 和 ChatGPT](https://devoria.fr/zh-hans/blog/which-ai-to-build-an-app-codex-claude-code-cursor)。

### ChatGPT 能开发应用吗？

看得见的那部分可以：ChatGPT 和 Claude、Cursor 一样，写界面、导航、简单逻辑和数据库调用都写得很好。但没有授权访问，它并不了解你的苹果账号，也不会用审核员的眼光看你的 app。只有在你的 iPhone 上测试，才知道代码对不对。

### 怎么一步步用 AI 开发自己的应用？

选一个极小的点子，只做一个核心功能。装一套 AI 熟悉的技术栈：Expo、React Native，需要账号系统的话再加 Supabase。一个界面一个界面地做，每次请求一个小任务，每一步都测试。先用开发构建、再用 TestFlight 在你的 iPhone 上测试，然后再接入收费、准备 App Store 资料并提交给苹果。

### 怎么检查 AI 写的代码？

每次修改都过一遍：改了哪些文件、为什么改、是否符合你的要求。尽早把 app 装到你自己的 iPhone 上，之后每到重要阶段都装一次。检查 Supabase 的访问规则，也就是 RLS 策略，是否已启用。还要检查 app 代码里没有混进任何密钥，因为 app 代码可以被反编译。

### 为什么 AI 写的付费墙在审核员那里显示为空？

付费墙的代码很简单。最难的是三个地方保持一致：App Store Connect 里的产品、它们在 RevenueCat 里的配置，以及展示它们的代码。一个标识符差一个字符，或者某个产品还没提交审核，付费墙就会是空的。没有这些后台的合适权限，AI 就没法核对这种一致性。


## 你的项目

[iOS Kit](https://devoria.fr/zh-hans/kits/ios)：用 Claude Code 做你的 iPhone App：我自己 App 的起步代码、检查其工作的 skills，以及 Apple Review Kit、App Store Screenshots Kit 和 ASO Kit。129,99 €。
