Expo开发客户端:expo run:ios生成的二维码无法扫描
问题原因及解决办法
1. 核心误区:用错了扫码的应用
expo run:ios生成的二维码仅适配你项目专属的自定义开发客户端(Dev Client),而非通用的Expo Go。因为你的项目包含自定义原生代码依赖,Expo Go无法加载这类代码,自然识别不了对应的二维码。
- 解决步骤:
- 确保iPhone和Mac在同一局域网,且iPhone开启了开发者模式(iOS15+路径:设置→隐私与安全性→开发者模式)
- 运行命令:
expo run:ios --device,工具会自动构建自定义Dev Client并安装到你的iPhone12上 - 安装完成后,打开这个自定义Dev Client,再扫描终端的二维码即可连接项目
2. 二维码或网络异常
- 检查终端窗口是否过小导致二维码截断,放大终端后重新运行
expo run:ios生成完整二维码 - 确认Mac与iPhone在同一Wi-Fi下,且本地防火墙未拦截Expo默认端口(19000-19006)
- 若扫码仍失败,可直接复制终端输出的
exp://开头的URL,手动粘贴到自定义Dev Client的输入框中连接
3. Dev Client配置或版本兼容问题
- 核对
app.json/app.config.js配置:确保plugins数组中包含["expo-dev-client"] - 匹配依赖版本:你的Expo SDK为45,需安装对应版本的
expo-dev-client,执行命令:npm install expo-dev-client@~1.0.0 - 清理项目缓存:运行
npx expo start --clear后重新启动项目生成二维码
4. iOS设备设置问题
- 关闭iPhone的自动亮度调节,避免光线不足影响扫码识别
- 检查自定义Dev Client的相机权限:进入iPhone设置→找到你的Dev Client应用→开启相机访问权限
内容的提问来源于stack exchange,提问作者hayata_suenaga
相关产品推荐
相关产品推荐

