跳到主要内容

2. 开工

新建项目

可参考官网 Set up your environment,其一开始就给出一些选择菜单,让你根据情况配置,我们课程的情况较为接近iOS Simulator/Android Emulator + Development build(没错,那个Expo Go真没啥意思)的情况。 但课程中更多的是我个人真实操作经历总结。

官网介绍非常详细的,重复的我这里就只简单提一下; 注意工具按上述原则使用,比如npm改成pnpm。

取名字

这个步骤有时候是最费时间的,同时中英文名都想好才开工就太不适合学习了。 所以你就简单取一个MyTestApp这样的即可,中间不要有空格。

新建命令

官网是:

npx create-expo-app@latest

我们用:

# 最简单, 0配置
pnpm dlx create-expo-app@latest

或者

# 想极致省盘, 需自己处理 Metro 缓存 symlink 警告
pnpm create expo-app@latest
命令特点推荐用法
pnpm create expo-app@latestpnpm 内置 create 命令,底层用 dlx 实现,简单快捷新建项目常用,方便
pnpm dlx create-expo-app@latest手动使用 dlx 临时执行,不会依赖缓存想确保绝对最新版本,或者不想依赖 pnpm create 封装时用
另外关于pnpm的省盘问题:
命令空间占用特点适用场景
pnpm create expo-app@latest更省空间,复用本地缓存日常新建项目,推荐
pnpm dlx create-expo-app@latest每次下载最新,可能有额外临时缓存想保证绝对最新,或者测试不同版本

继续按照官网教程进行

  1. 注册Expo官网账号,登录进去,知道环境变量Environment variables页面在哪里;

  2. 回到本机,安装Xcode和一个最新的Simulator模拟器(我写的时候是iPhone 17);

包名 Bundle Name

取名字往往是最费脑的,但一旦定下来(英文名)后,包名就很简单,不重复就好。 形式上的反向域名com.your-company.app-name,确定后就到AppStore和GooglePlay注册。 方法上网查看,我这里不再赘述。

然后修改app.json(ios.bundleIdentifier, android.package)或者执行pnpm expo prebuild按提示输入即可。 注意和app.json中expo.name(新建app时输入的名称)不是一个概念,当然最好都有关联和一致性,都在取好名字后再操作。

EAS

EAS CLI 用于登录你的 Expo 账号,并通过不同的 EAS 服务(如 Build、Update 或 Submit)来编译你的应用。
你还可以使用该工具来:

  • 将你的应用发布到应用商店

  • 创建应用的开发版、预览版或生产版构建

  • 创建 OTA(Over-the-Air,即空中更新)更新

  • 管理你的应用凭证

  • 为 iOS 设备创建 ad hoc 配置文件

要使用 EAS CLI,你需要在本地机器上全局安装它。

安装EAS CLI

pnpm install -g eas-cli

继续

  1. 回到项目中,安装EAS CLI并执行eas login看看刚才注册的Expo账号是否生效;

  2. 执行eas build:configure简单生成eas.json;

  3. 开发构建eas build --platform ios --profile development,

在 EAS 云端**(Linux→macOS 远程机)打包,生成 .ipa 开发版安装包。 结果:一个可扫码安装到真机的开发包,本地 Xcode 不必打开

我的个人实际开发中很少用到,下面分析一下。

这个命令和expo run:ios的区别: expo run:ios 用的是本地 Xcode 构建 ; eas build --platform ios --profile development 用的是云端构建 + 真机调试能力;

其实前者就是不需要 Xcode,没有mac的人也可以开发iOS程序了。

如果你是单兵开发,天天动不动改代码跑模拟器,那还是 run:ios 舒服
但是只要你想把 APP 安装到别人手机上 → EAS development build 绝对省心

  1. 启动 pnpm expo start 其实我更多直接用expo run:ios/android啥的,相当于同时prebuild了。

模拟器打开

一开始的新鲜项目,没啥必须原生支持的库,就用Expo Go这个工具调试也行。

执行pnpm expo start后,可以选择不同模拟器查看。

iOS

i

Android

a

提示安装或升级Expo Go的话就Y一下。

关于其中的一些快捷键,expo官网查。