You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在真机运行EAS开发构建?解决Expo相机模块兼容问题

问题描述

我最近添加了一个相机NPM包,它涉及Native Modules,Expo无法原生支持这个包。目前我通过EAS构建任务生成IPA文件后在本地模拟器运行,但iOS模拟器不支持VideoCamera功能。

我正在创建EAS的开发构建,eas.json配置如下:

"development": {
      "extends": "staging",
      "developmentClient": true,
      "distribution": "internal", // 尝试过添加和移除该行
      "ios": {
        "simulator": true
      }
    }

之后运行npx expo start --dev-client接入expo-dev-client,模拟器上运行正常,但要使用视频相机必须用物理设备。

请问如何在物理设备上运行EAS构建产物?或者有没有办法在本地运行Expo同时兼容这个涉及Native Modules的新NPM库?


解决方案

一、在物理设备上运行EAS开发构建

  • 修改eas.json的开发配置,将ios.simulator设为false,生成适配物理设备的构建包:
    "development": {
      "extends": "staging",
      "developmentClient": true,
      "distribution": "internal",
      "ios": {
        "simulator": false
      }
    }
    
  • 重新触发EAS构建:执行命令 eas build --platform ios --profile development
  • 安装到物理设备:
    • 构建完成后,可通过设备上的Expo开发客户端扫码安装,或用Xcode将生成的IPA包直接安装到已连接的物理设备(需确保设备已添加到你的Apple开发者账户)
    • 保证设备和开发电脑在同一局域网,运行npx expo start --dev-client后,在设备的开发客户端中选择对应项目即可连接调试

二、本地运行Expo并兼容Native Modules

如果不想依赖EAS远程构建,可通过以下方式本地处理:

  • 使用Expo预构建生成原生项目:
    执行命令 npx expo prebuild,这会在本地生成iOS和Android的原生项目文件
    之后直接用Xcode打开iOS项目(路径为ios/你的项目名.xcworkspace),连接物理设备即可编译运行
    后续更新Native Modules相关依赖后,需重新执行npx expo prebuild同步配置
  • 注意事项:
    预构建后需要自行维护原生项目的配置,后续升级Expo SDK时也要同步更新原生文件
    确保你的Apple开发者账户配置正常,Xcode能完成设备签名

内容的提问来源于stack exchange,提问作者Phil Lucks

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 03:41:28