news 2026/9/10 21:54:57

Folo 移动端如何用 Expo 在 macOS 上搭建开发环境并跑通 iOS 模拟器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Folo 移动端如何用 Expo 在 macOS 上搭建开发环境并跑通 iOS 模拟器

Folo 移动端如何用 Expo 在 macOS 上搭建开发环境并跑通 iOS 模拟器

【免费下载链接】follow🧡 Folo is the AI RSS Reader项目地址: https://gitcode.com/GitHub_Trending/fol/follow

Folo 的移动端是一个基于 Expo 的 React Native 应用,代码位于仓库的apps/mobile目录。本文的任务是在 macOS 上把移动端开发环境搭起来,并通过 Expo 把 Folo 的 dev 客户端构建、安装到 iOS 模拟器,再启动开发服务器跑起来。前提条件以 CONTRIBUTING.md 的说明为准:需要一台 Mac 设备,并已安装 Xcode 及必要依赖——移动端无法在非 Mac 环境上走这条构建路径。

环境与版本前提

  • 仓库是 pnpm workspaces + Turbo 管理的 monorepo(见 AGENTS.md),package.json 中通过packageManager字段固定了pnpm@10.17.0,CONTRIBUTING 要求先启用 Corepack,由它保证使用package.json指定的包管理器版本:

    corepack enable && corepack prepare
  • 移动端依赖 Expo。apps/mobile/README.md 写明项目基于 Expo SDK>=52构建,当前 apps/mobile/package.json 中expo的依赖版本为~57.0.4,满足该下限。导航使用 Expo Router,样式使用 NativeWind,状态管理为 Jotai 和 Zustand。

安装依赖

在仓库根目录执行:

pnpm install

根目录 package.json 的postinstall会接着执行pnpm run build:packages(用 turbo 构建packages/**下的工作区包),移动端依赖这些内部包(@follow/components@follow/store等均以workspace:*引用),所以安装阶段时间比一般项目长,属于正常现象。

配置 .env

进入移动端目录并复制环境变量示例文件:

cd apps/mobile cp .env.example .env

.env.example 中包含EXPO_PUBLIC_APP_CHECK_DEBUG_TOKEN=SENTRY_AUTH_TOKEN=两个变量。CONTRIBUTING 要求设置的是前者,文档给出的写法是:

echo 'EXPO_PUBLIC_APP_CHECK_DEBUG_TOKEN="xxx"' >> .env

或手动编辑.env文件加入:

EXPO_PUBLIC_APP_CHECK_DEBUG_TOKEN="xxx"

文档明确说明EXPO_PUBLIC_APP_CHECK_DEBUG_TOKEN的值可以是任意字符串,"xxx"即可。

首次构建并安装到 iOS 模拟器

执行:

pnpm expo prebuild --clean # Optional pnpm run ios
  • pnpm run ios对应 apps/mobile/package.json 中的expo run:ios。CONTRIBUTING 把这一步描述为「Build and install Folo(dev) app from source」,即从源码构建 dev 客户端并安装到模拟器,并明确提示这一步耗时较长、且只需做一次。
  • pnpm expo prebuild --clean是可选的 clean rebuild,apps/mobile/AGENTS.md 说明它适用于 native module 发生变更的场景;首次搭建时照文档标注为 Optional,可以跳过。

构建完成后,模拟器上会装好 Folo(dev) 应用,这就是后续开发服务器所连接的 dev client。

启动开发服务器

pnpm run dev

dev脚本的实际链路在 apps/mobile/package.json 中可以看到:devstartexpo start --dev-client。也就是说开发服务器以 dev-client 模式启动,加载的正是上一步构建安装的 Folo(dev) 应用,而不是 Expo Go。apps/mobile/README.md 的 Getting Started 也把pnpm run dev列为启动开发服务器的标准命令,并列出可用运行目标:iOS Simulator(pnpm run ios)、iOS 真机(pnpm run ios:device)、Android Emulator(pnpm run android)。

结果判断

文档没有给出固定的成功日志样例,以 CONTRIBUTING.md 描述的实际动作为准:

  • pnpm run ios执行完毕,Folo(dev) 应用完成构建并安装到模拟器——这是文档定义的预期结果,且只做一次;
  • pnpm run dev持续运行开发服务器(expo start --dev-client),供模拟器中的 Folo(dev) 拉取代码并热更新。

pnpm run ios阶段报错,文档没有给出逐项排查表,可先回到前提核对:是否使用了 Corepack 提供的 pnpm、.env是否已创建且包含EXPO_PUBLIC_APP_CHECK_DEBUG_TOKEN

可选分支与边界

  • iOS 真机pnpm run ios:device(对应expo run:ios --device),同样需要 Mac 环境。
  • 原生 iOS 模块开发:如果之后要改native/下的平台代码,CONTRIBUTING 给出的路径是cd apps/mobile/ios后执行open Folo.xcworkspace,在 Xcode 中打开 Pods 侧边栏选择FollowNative,然后 Build and run;改完 native module 后用pnpm expo prebuild --clean做 clean rebuild。
  • 平台范围:apps/mobile/README.md 标注 Android 支持仍为 WIP,本文的模拟器验证路径以 iOS 为准。

环境搭好后的日常循环就是两步:pnpm run ios只在首次或 native 变更时执行,日常开发保持pnpm run dev运行即可。

【免费下载链接】follow🧡 Folo is the AI RSS Reader项目地址: https://gitcode.com/GitHub_Trending/fol/follow

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/10 21:54:07

药品追溯扫码设备技术演进与市场应用分析

1. 药品追溯码扫码设备行业现状分析全球医药行业正经历数字化转型浪潮,药品追溯系统作为保障用药安全的核心基础设施,其配套硬件设备市场迎来爆发式增长。扫码一体机作为药品流通环节的关键数据采集终端,已从简单的条码识别工具进化为具备多重…

作者头像 李华
网站建设 2026/9/10 21:53:59

通达信股市风向标:主图副图选股公式源码详解

在通达信里折腾指标,少说也有七八年了。后台经常有朋友问,能不能给一套真正能当“风向标”用的东西,一眼看出趋势方向、量能到底配不配合,而不是每天盯着红红绿绿的K线猜来猜去。今天我就把自用的这套“股市风向标”完整分享出来&…

作者头像 李华
网站建设 2026/9/10 21:53:56

DenseUnet医学图像分割:通道注意力与跨尺度稠密跳跃设计

简介:本资源是一套面向医学图像分割初学者与AI医疗实践者的PyTorch实战项目,聚焦超声甲状腺结节的精准语义分割任务。提供DenseUnet与Unet双网络实现,支持一键训练与推理,内置cosine学习率调度、AdamW优化器及Dice/IoU/Recall/Pre…

作者头像 李华
网站建设 2026/9/10 21:51:03

晶振储存环境与维护全指南

1. 晶振储存的重要性与常见问题 作为一名电子工程师,我经常遇到客户反馈晶振在使用一段时间后出现频率偏移甚至失效的情况。经过排查发现,80%的问题根源在于储存环节处理不当。晶振作为电子设备中的"心脏",其稳定性直接影响整个系统…

作者头像 李华