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

在物理iPhone上运行Expo React Native应用时Xcode找不到ExpoModulesCore

Expo React Native iPhone 16 真机构建报错:ExpoModulesProvider 找不到 ExpoModulesCore 模块

问题概述

Expo React Native 应用在 iOS/Android 模拟器运行正常,但通过 Xcode 连接 iPhone 16 真机构建时,抛出错误:ExpoModulesProvider -> no such module "ExpoModulesCore"。ExpoModulesCore 已存在于 node_modules 和 Podfile 中,Android 端无此问题。

已执行的操作步骤

  • rm -rf node_modules yarn.lock
  • yarn
  • npx expo install
  • yarn global add expo-cli
  • yarn global add eas-cli
  • npx expo-doctor
  • npx expo prebuild --clean
  • cd ios
  • pod install
  • yarn ios(模拟器运行成功)

Node 版本:20.14.0 或 LTS 22.14.0

已尝试的解决方法

  • 重新克隆项目
  • 彻底清除 Xcode 缓存
  • 卸载并重装 Xcode
  • 更新 Expo、Yarn、Ruby 及开发工具

解决方案建议

1. 修正 Xcode 项目打开方式(关键)

不要打开 xcodeproj 文件,Pod install 完成后必须打开 ios/[项目名].xcworkspace 文件,否则 Xcode 无法识别 CocoaPods 管理的依赖模块。

2. 深层清理并重新安装 CocoaPods 依赖

# 回到项目根目录
cd ..
# 删除 iOS 端构建缓存与 Pod 依赖
rm -rf ios/build ios/Pods ios/Podfile.lock
# 进入 iOS 目录执行清理与重装
cd ios
pod deintegrate
pod install --repo-update

3. 检查 Xcode 项目配置

  • Framework 搜索路径:打开 workspace 后,进入项目 Target 的 Build Settings,找到 Framework Search Paths,添加路径 $(SRCROOT)/../node_modules/expo-modules-core/ios,并设置为 recursive。
  • Swift 版本匹配:ExpoModulesCore 要求 Swift 5.9+,在 Build Settings 中找到 Swift Language Version,设置为与 Xcode 兼容的最新稳定版本(如 5.9 或 6.0)。
  • 手动链接框架:进入 Target 的 Build Phases → Link Binary With Libraries,点击 + 按钮,从 Pods/ExpoModulesCore/ios 目录添加 ExpoModulesCore.framework。

4. 验证 Expo 与 iOS 版本兼容性

iPhone 16 搭载 iOS 18,确保你的 Expo 版本支持 iOS 18:

  • 执行 npx expo upgrade 升级到最新稳定版
  • 检查 app.json 中 ios.minimumOSVersion 是否设置为 14.0 或更高

5. 通过 Expo CLI 直接构建真机

跳过手动操作 Xcode,用 Expo CLI 直接部署到真机:

npx expo run:ios --device

该命令会自动处理依赖链接、签名配置等问题,避免手动操作 Xcode 导致的配置遗漏。

内容的提问来源于stack exchange,提问作者Antonio Guarino

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 23:16:15