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

React Native iOS构建失败:找不到原生模块‘ExpoSecureStore’(M1 Mac、Hermes)

React Native iOS模拟器构建失败:Cannot find native module 'ExpoSecureStore'

问题描述

在iOS模拟器上运行React Native项目时,构建持续失败,报错:

Error: Cannot find native module 'ExpoSecureStore'

错误截图

环境信息

  • Mac:M1
  • Node.js:v22.12.0
  • npm:11.2.0
  • React Native:0.74.5
  • Expo:~51.0.39
  • Hermes:已启用

已尝试的解决步骤

  • 在ios/目录下执行pod install
  • 删除node_modules、package-lock.json和ios/Pods后,重新执行npm install和pod install
  • 确认package.json中已包含expo-secure-store
  • Android模拟器上运行正常

解决建议

1. 重新执行Expo预构建

Expo 51依赖预构建机制管理原生模块,执行命令重新生成iOS原生代码:

npx expo prebuild --clean -p ios

完成后进入ios目录重新执行pod install,再启动模拟器。

2. 适配M1芯片架构

M1芯片可能存在兼容问题,按以下操作处理:

  • 右键点击Xcode图标→显示简介→勾选「使用Rosetta打开」
  • 进入ios目录,删除Podfile.lock和Pods文件夹,执行:
arch -x86_64 pod install

3. 检查Xcode项目依赖

  • 打开ios目录下的.xcworkspace文件
  • 进入项目的Build Phases→Link Binary With Libraries,确认存在ExpoSecureStore.framework
  • 若缺失,点击+按钮搜索并添加该框架

4. 彻底清理缓存

执行以下命令清理Expo和Metro缓存:

npx expo start --clear
rm -rf ~/.expo/cache

5. 匹配SDK对应版本

Expo 51对应的expo-secure-store版本应为~12.0.1,检查package.json,版本不匹配则重新安装:

npm install expo-secure-store@~12.0.1

6. 验证模块导入方式

确保代码中导入语句正确:

import * as SecureStore from 'expo-secure-store';

避免错误的导入路径或模块名称。


内容的提问来源于stack exchange,提问作者Elaine Kong

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 18:44:54