乐于分享
好东西不私藏

从来开始做1个app(windows版)润色详细版1

从来开始做1个app(windows版)润色详细版1

没有 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」的全流程。

如果对你有用,欢迎关注公众号 【你想见的一面镜子】——以后我会继续把这类「普通人也能上手」的东西,一点点拆开讲给你。

感谢观看,下次见。

相关学习资料