乐于分享
好东西不私藏

从零做APP (win 超绝详细版)

从零做APP (win 超绝详细版)

零基础用 AI 做一个日语学习 App(实操篇)

 一、Win11 开发测试

Windows 上没有 iOS 模拟器(那是 Mac 专属的),所以我们的测试方式是:

手机装一个 Expo GoApp

电脑上跑 npx expo start

扫终端弹出的二维码,之后改代码、手机上实时刷新。

想看网页版预览,`npx expo start --web` 也行(第一次用网页预览,它可能提示你装 react-dom、react-native-web,按提示装上即可)

但一切以手机上的真实效果为准。

跑通了,能用了,就算过。

0. 前置准备

动手前先装好两样东西,否则后面命令会全部报错:

1. Node.js:去

 nodejs.org 

下 LTS 版,一路下一步装好。`npx`、`npm` 都跟着它来。装完在终端输 `node -v`,能打印出版本号就 OK。

2. 注册一个 Expo 账号

官网

expo.dev

后面 eas login要用它。

### 1. 建项目文件夹

打开 PowerShell 终端,依次输入:

-

cd D:\

mkdir code

cd code

-

这是在 D 盘建一个 `code` 文件夹,以后专门放你的代码项目,相当于你自己的「编程项目仓库」;`cd code` 就是进到这个文件夹里。

### 2. 建项目

```powershell

npx create-expo-app@latest my-app

```

`my-app` 可以换成你想要的英文名(这里演示就不换了)。它会下载模板、装依赖,跑个一两分钟,等它跑完。

### 3. 进项目、启动

```powershell

cd my-app

npx expo start

```

跑起来后,终端里会出现一个二维码。

### 4. 手机连上

**关键前提:手机和电脑连同一个 WiFi。**

- **iPhone**:直接用系统**相机** App 扫那个二维码(iOS 上不是在 Expo Go 里扫,而是用相机扫,扫完它会自动跳转打开 Expo Go)。

- **安卓**:打开 Expo Go,用里面的「Scan QR code」扫。

几秒后手机上就会出现一个默认的 Expo 欢迎页面。**看到这个页面 = 全链路通了,今天最关键的一关就过了。**

### 5. 如果扫完打不开 / 报「需要更新版本」

最常见的原因:**手机上 Expo Go 的版本,和你项目用的 SDK 对不上。**

先确认手机上的 Expo Go 已经更新到最新版本。如果已经是最新了还不行,那基本就是另一头的问题:`create-expo-app@latest` 刚建的项目用的 SDK(比如 55)比商店版 Expo Go 能带动的还新,Expo Go 跑不起来,才报「需要更新版本」。

**解决办法:把项目的 SDK 降一档(比如从 55 降到 54),迁就手机上的 Expo Go。** 在项目文件夹(`D:\code\my-app`)里依次跑:

**① 加一个配置,让 npm 容忍版本冲突:**

```powershell

Set-Content -Path .npmrc -Value "legacy-peer-deps=true"

```

**② 把装乱了的旧包和锁文件删掉(注意是两条命令,要分两行):**

```powershell

Remove-Item -Recurse -Force node_modules

Remove-Item -Force package-lock.json

```

**③ 把 expo 本体降到 54(⚠️ 这一步是关键,少了它后面白做):**

```powershell

npm install expo@^54.0.0

```

**④ 让 expo 把其它包都对齐到 54:**

```powershell

npx expo install --fix

```

**⑤ 清缓存重新启动:**

```powershell

npx expo start -c

```

跑完,用手机相机重新扫码就行。

> 小贴士:SDK 版本号会随时间变化,原理就一句话——**让项目的 SDK ≤ 你手机上 Expo Go 支持的最高版本**。哪个能跑就用哪个,别死记 54/55。

### 6. 开发服务器别关掉

截图里这个跑着 Metro 的窗口,就是**开发服务器**:

- 作用:你电脑上代码一改,它就实时打包推给手机。

- **开发全程都要让它开着,千万别 Ctrl+C 关掉**,关了手机 App 就连不上了。

- 几个常用快捷键(光标在这个窗口里按):

  - 按 `r` = 重新加载 App

  - 按 `m` = 调出手机上的开发菜单

  - 按 `w` = 在电脑浏览器里打开(改 UI 时用浏览器看更快)

## 二、让 AI 帮你写功能

环境通了,就可以让 AI(这里用 Claude / cc)帮我们写第一个效果了——**卡片左右滑动切换**。

> 📷 此处放截图:第一个卡片效果

这样我们就有了一个非常简单的日语背诵小 App。接着就像搭积木一样,再添下一个功能。

它帮我继续部署了其它功能,做完还会主动问我要不要继续加功能,相当智能。

> 📷 此处放截图:功能演示结果

### 遇到报错怎么办?把报错原样丢给 AI

开发途中报错很正常。比如我遇到过这个:

> Element type is invalid... got undefined, check render method of TabLayout

我就直接把它甩给 Claude:

> 我的 expo-router 项目报 "Element type is invalid... got undefined, check render method of TabLayout",帮我检查 `app/(tabs)/_layout.tsx` 里所有 import 是否正确,特别是图标库和 Tabs 的引入方式。

它定位、改完,问题就解决了。**记住这个套路:报错别慌,整段原文复制给 AI,让它修。**

## 三、EAS 云端打包(Windows 也能出 iOS 包)

打包要给 App 签名,得用你的 Apple 开发者账号凭证,所以这一步的前提是:**你的 Apple 开发者账号(99 美元 / 年)已经批下来。**

打包前还要先设好 **bundleIdentifier**(App 的唯一身份证,形如 `com.yourname.myapp`)。打开项目里的 `app.json`,在 `ios` 下面填上它:

```json

{

  "expo": {

    "ios": {

      "bundleIdentifier": "com.yourname.myapp"

    }

  }

}

```

然后:

1. 装 CLI:`npm install -g eas-cli`,再 `eas login`(用你的 **Expo 账号**登录)。

2. 运行 `eas build:configure` —— 它会生成 `eas.json` 配置文件。

3. 打 iOS 生产包:`eas build --platform ios --profile production`

   - 中途会问你 Apple 账号、要不要让 EAS 帮你管签名证书——**全部选 Yes,让它自动管**,这是 Windows 用户最省心的方式,别自己手搓证书。

   - 然后云端开始编译,你等着就行,最后会出一个 `.ipa` 包。

## 四、提交并上架

1. 去 **App Store Connect**(appstoreconnect.apple.com)建一个 App 记录,填上跟你 `bundleIdentifier` 对应的信息。

2. 提交构建:`eas submit --platform ios`,它会一步步引导你把包传上去。包上传后会进 App Store Connect 处理,通常 10–15 分钟后出现在 **TestFlight**(自己人内测)。

3. **关键:传上去 ≠ 上架。** 要正式上架 App Store,你必须在 App Store Connect 里**手动**把这个构建提交到 **App Review(审核)**。

4. 提审前还得在 App Store Connect 里补齐:App 描述、各尺寸截图(用模拟器或手机截都行)、隐私政策链接、分级信息——**这些少一个都提不了审。**

提审后就是等苹果审核,过了才真正出现在商店里。

---

以上就是我们今天从零做一个 App 的全流程了。如果喜欢,不妨关注本公众号【你想见的一面镜子】,未来持续输出有价值的文章。感谢观看,下次见~