没有 Mac、不会写代码 做成一个未来可上架的App
从一个空想法,到把一个能用的 App 打包好、提交到苹果审核——这件事,一个只有 Windows 电脑、几乎不会写代码的人,一天之内真的能做完。
下面把我今天走的每一步、踩的每一个坑,原样拆给你。
---
先看全景:从 0 到 App Store 一共 7 步
1 一个想法
2 拆出功能
3 砍成 MVP(最小可用版本)
4 用 AI 做出来
5 Win11 开发测试
6 EAS 云端打包
7 提交并上架
---
没错,就这么简单,朴实无华。
第 0 步(现在马上做):去注册苹果开发者账号
因为这 7 步里,只有它「急不得」。
其它全是你自己电脑上当场能搞定的活儿,唯独苹果账号要交钱、要审批
个人号通常几小时到一两天才批下来。
你要是傻乎乎地按 1→7 顺序走,做到第 6 步打包时才去注册,就只能干等一两天。
所以,现在就去
developer.apple.com
用 Apple ID 登录,先开两步验证,然后交 99 美元/年
注册一个个人(Individual)账号。
填真实全名,别用昵称缩写,否则审批会被拖。
交完别管它,让它后台审,你这边接着干下面的。等你做到第 6 步,它八成已经批好了。
顺手再注册一个免费的 Expo 账号(`expo.dev`)后面打包要用。
---
准备工作:三样东西
电脑:确认装了 Node.js。
终端里敲 `node -v`,蹦出版本号就行
网址:
nodejs.org
下 LTS 版装上。(如果你在用 Claude Code,基本已经有了。)
手机App Store 搜 Expo Go 装好,更新到最新版。
手机和电脑连同一个 WiFi。
---
第 1–3 步:想法 → 拆功能 → 砍 MVP
这三步其实是一件事:把脑子里那个大东西,砍到「今天能做完」的程度。
先一句话说清「给谁、解决什么」。然后把想做的功能全列出来,别筛。
最后这一步最狠——问自己:
砍到只剩一个功能,这 App 还成立吗?
留下那一个,其余全划掉(记小本本上,那是 v2,不是 v1)
判断标准只有一个:今天能不能做完。
第一版可以没账号、没云端、纯本地,越简单越好。
记住:目的是走通一遍流程,不是做出一个完美无瑕的产品。
我自己砍到最后,留下的是一个超简单的日语单词背诵App,核心就一个动作——卡片左右滑动切换。
---
第 4 步:用 AI(Claude Code)把它做出来
技术栈选 Expo(React Native)
因为它能让你在 Windows 上一路走到上架,不需要 Mac。AI 用 Claude Code。
先建项目,终端里依次跑
-
cd D:\
mkdir code
cd code
npx create-expo-app@latest my-app
cd my-app
npx expo start
-
my-app可以换成你的英文名。
npx expo start跑起来后,终端会冒出一个二维码。
然后用 iPhone 的「相机」扫这个二维码
(iOS 上是用系统相机扫,不是在 Expo Go 里扫,扫完它自己跳转打开 Expo Go)
手机上出现示例页面,就说明全链路通了。
接下来是最爽的部分:
把项目文件夹丢给 Claude Code像搭积木一样
让它一个功能一个功能地加。
我先让它做「卡片左右滑动」,做完在手机上一看就有了;
再让它加下一个功能……
它每做完一个还会主动问我「要不要继续加」相当聪明
一个小 App 的雏形,就这么一块一块堆出来了。
记住这个「开发循环」
跑着 Metro 的那个终端窗口(就是 `npx expo start` 那个)是你的开发服务器:你代码一改,它就实时打包推给手机。
开发全程让它开着,千万别 Ctrl+C 关掉,关了手机就连不上了。
光标停在这个窗口里,几个常用快捷键:
按 `r` = 重新加载 App
按 `m` = 调出手机上的调试菜单
按 `w` = 在电脑浏览器里打开(改界面时用浏览器看更快)
---
踩坑实录(这部分最值钱)
一路不可能一帆风顺。我踩了两个坑,原样还给你。
坑一:扫码报「需要更新版本的 Expo Go」
扫完码,手机上弹出 Project is incompatible with this version of Expo Go。
原因: `create-expo-app@latest` 默认给你建的是最新的 SDK,而 App Store 里能下到的 Expo Go,支持的 SDK 往往慢半拍。新项目版本比 Expo Go 高,就带不动。
解决办法:把项目降到和你手机 Expo Go 一致的那个版本号。
> ⚠️ 具体降到几,要看你手机 Expo Go 里 **设置 → Supported SDK** 写的是多少。**这个数字会随时间往上涨,别照搬我的。**
我当时手机 Expo Go 支持到 SDK 54,所以我把项目降到 54。在项目目录里:
```
npm install expo@^54.0.0
npx expo install --fix
```
如果第二步报了一堆 `ERESOLVE` 冲突、装不下去(这是旧版本残留在打架),按这个顺序清干净重装:
```
Set-Content -Path .npmrc -Value "legacy-peer-deps=true"
Remove-Item -Recurse -Force node_modules
Remove-Item -Force package-lock.json
npm install
npx expo install --fix
npx expo start -c
```
重新扫码,版本对上了就能进。
> 附:如果一开始就连不上、一直转圈,多半是网络问题(公司网/校园网)。把 `npx expo start` 改成 `npx expo start --tunnel`,这个模式不挑网。
坑二:App 崩溃,报「Element type is invalid... TabLayout」
加功能加着加着,App 突然崩了,报错大意是:`Element type is invalid... got undefined, check the render method of TabLayout`。
翻译成人话:有个组件变成了 undefined,渲染时就炸了。 最常见的原因是 import 写错——要么图标名拼错,要么 `Tabs` 用了默认导入(`import Tabs from ...`),而其实该用具名导入(`import { Tabs } from ...`),引进来的东西是空的。
我没自己抠,直接把报错甩给 Claude:
> 我的 expo-router 项目报 "Element type is invalid... got undefined, check render method of TabLayout",帮我检查 `app/(tabs)/_layout.tsx` 里所有 import 是否正确,特别是图标库和 Tabs 的引入方式。
它一眼就定位到那个写错的 import,改完就好了。
这其实是 AI 编程最舒服的地方:报错你不用自己懂,原样喂给它,它比你还清楚。 但你得会「描述现场」——把完整报错、出错的文件路径一起给它,它才修得准。
---
第 5 步:Win11 上怎么测
重点先说:Windows 上没有 iOS 模拟器,那是 Mac 专属。
所以你的测试方式就是上面那套——手机装 Expo Go,扫码,改代码手机实时刷新。
想快速看界面调整,`npx expo start --web` 能在电脑浏览器里开个网页版预览,改 UI 时方便。但最终效果以手机真机为准。
---
第 6 步:EAS 云端打包
做到这一步,你那个一早就提交的苹果账号,应该已经批下来了(打包要给 App 签名,得用它)。
```
npm install -g eas-cli
eas login # 用 Expo 账号登录
eas build:configure # 生成 eas.json 配置
eas build --platform ios --profile production
```
中途它会问你苹果账号、问要不要让 EAS 帮你管签名证书——全部让它自动管(选 Yes)。这是 Windows 用户最省心的地方:不用自己手搓证书。
然后云端开始编译,你等着就行,最后出一个 `.ipa` 包。
---
第 7 步:提交并上架
去 App Store Connect(`appstoreconnect.apple.com`),新建一个 App 记录,信息跟你项目里的 `bundleIdentifier`(在 `app.json` 里设的那个,类似 `com.yourname.myapp`)对上。
提交构建:
```
eas submit --platform ios
```
它一步步引导你把包传上去。传完处理个 10–15 分钟,会出现在 TestFlight 里。
关键认知:传上去 ≠ 上架。 要真正上架,你得在 App Store Connect 里手动把这个构建提交去 App Review(审核)。
提审前还得补齐:App 描述、截图、隐私政策链接、年龄分级。少一个都提不了审。
> 关于截图:Windows 上没模拟器,所以别想着模拟器截图。**直接用你的真机 iPhone 截。** App Store Connect 会告诉你需要哪些尺寸,按它要求来。
提交审核后,就是等苹果审,通常 1–3 天。过了,才真正出现在商店里。
---
今天你到底做成了什么
老实讲:今天你大概率还没「上架」——账号审批和苹果审核那几天,谁也快进不了。
但你做成了一件更难的事:从零,把一个 App 想清楚、做出来、跑通、打包、提交到了苹果审核。 而且全程在 Windows 上,靠 AI,没碰一行你看不懂的代码。
剩下的,交给时间。
---
这就是我今天「从 0 做一个 App」的全流程。
如果对你有用,欢迎关注公众号 【你想见的一面镜子】——以后我会继续把这类「普通人也能上手」的东西,一点点拆开讲给你。
感谢观看,下次见。
夜雨聆风