Expo 2.4.2 iOS端无法运行React Native应用问题求助
解决Expo 2.4.2在iPhone上无法运行React Native应用的问题
我明白你现在的困境:你安装了移除了二维码扫描器的Expo 2.4.2版本,按照步骤执行exp login、exp start、exp send(填写了带+91国家码的手机号),而且iPhone和Mac已经连在同一网络,但应用就是没法正常运行。下面给你几个针对性的排查和解决方法:
1. 强制Expo使用本地局域网IP
exp send发送的链接可能默认指向了Mac的公网IP或者错误的网络接口,而非本地局域网IP。可以这样调整:
- 先停止当前运行的
exp start进程 - 执行
exp start --localhost命令启动项目,这个命令会强制Expo基于本地局域网IP生成访问链接 - 重新执行
exp send发送新链接,或者直接在iPhone的Expo应用里手动输入生成的局域网地址(格式类似exp://192.168.x.x:19000)
2. 验证Mac和iPhone的网络连通性
虽然在同一网络,但可能存在防火墙或网络隔离问题:
- 在Mac终端执行
ping [你的iPhone局域网IP],确认两台设备能正常连通 - 如果ping不通,检查Mac的防火墙设置,确保允许
exp、node这类进程通过防火墙 - 可以尝试切换到同一个2.4GHz的Wi-Fi网络(部分5GHz网络可能存在跨设备连通限制)
3. 确认Expo账户同步状态
要保证Mac上登录的Expo账户和iPhone端Expo应用登录的是同一个:
- 在Mac终端执行
exp whoami查看当前登录的账户 - 在iPhone的Expo应用中进入设置页面,核对登录账户是否一致
- 如果不一致,两边都退出后重新登录同一个账户,再尝试打开发送的链接
4. 清除缓存并重启服务
缓存问题也可能导致加载失败:
- 在Mac上执行
exp r -c清除Expo项目缓存 - 重启
exp start服务 - 彻底关闭iPhone上的Expo应用(从后台划走),重新打开后点击收到的链接
5. 检查项目依赖与Expo版本兼容性
项目依赖的Expo SDK版本和客户端版本不匹配也会引发问题:
- 查看项目根目录
package.json里的expo依赖版本 - 确认该版本和Expo客户端2.4.2兼容(对应匹配的Expo SDK版本)
- 如果版本不兼容,升级或降级项目的
expo依赖到兼容版本,再重新执行exp start
内容的提问来源于stack exchange,提问作者SUNiL iOS
相关产品推荐
相关产品推荐

