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

React Native 0.72.3 iOS多Scheme加载.env文件缓存问题求助

React Native 0.72.3 多Scheme对应不同.env文件配置方案

一、修复Xcode Scheme前置脚本

你之前的脚本逻辑有误,react-native-config 依赖的是 ENVFILE 环境变量而非 /tmp/envfile 文件。重新配置两个Scheme的Run阶段前置脚本:

  1. 打开Xcode,选择对应Scheme(比如myApp-dev),点击Edit Scheme
  2. 切换到Run -> Pre-actions,添加一个新的Run Script Action
  3. 脚本内容修改为:
    # 生产Scheme(myApp)
    export ENVFILE=".env.production"
    
    # 开发Scheme(myApp-dev)
    # export ENVFILE=".env.development"
    
    注意:每个Scheme对应自己的脚本,不要混写。

二、正确配置react-native-config(适配RN 0.72.3)

  1. 安装兼容版本:

    npm install react-native-config@1.5.1 --save
    # 或用yarn
    yarn add react-native-config@1.5.1
    

    (1.5.1版本经测试适配RN 0.72.x,若有更新兼容版可替换)

  2. iOS端编译脚本校验:

    • 打开Xcode项目,进入Build Phases
    • 确保[CP-User] Config env脚本在Bundle React Native code and images之前执行(拖拽调整顺序)

三、彻底清理缓存(解决旧值残留问题)

只清Metro缓存不够,需要同时清理Xcode和项目缓存:

  1. 关闭所有Metro窗口和Xcode
  2. 执行项目清理命令:
    npx react-native clean
    
  3. 删除Xcode DerivedData:
    • 打开Xcode -> 顶部菜单栏Xcode -> Settings -> Locations
    • 点击DerivedData右侧的箭头打开文件夹,删除当前项目的缓存目录
  4. 重置Metro缓存并启动:
    npx react-native start --reset-cache
    

四、验证配置

在React Native代码中加入以下代码测试:

import Config from 'react-native-config';

console.log('当前环境:', Config.STAGE);

切换到对应Scheme编译运行,查看控制台输出是否匹配对应.env文件的STAGE值。

额外注意事项

  • 切换Scheme后,务必先执行Xcode的Clean Build Folder(快捷键Cmd+Shift+K)再编译
  • 确保.env文件放在项目根目录,文件名和脚本中指定的完全一致(注意大小写)

内容的提问来源于stack exchange,提问作者Sam Leurs

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 00:10:18