Expo生产环境无法访问Secrets配置,请求技术支持
解决EAS构建后环境变量无法读取的问题
核心问题
你使用的Constants.manifest.extra在EAS构建的生产包中已被废弃,生产环境下需通过Constants.expoConfig.extra获取配置值。
修复步骤
修改consts.js中的读取逻辑
替换原有代码:import Constants from 'expo-constants' ... // 替换为这一行 export const { API_URI, API_KEY } = Constants.expoConfig.extra确认Expo Secrets配置有效性
- 确保Expo UI中添加的Secrets变量名与代码里的
API_URI、API_KEY完全一致(大小写敏感) - EAS构建会自动注入Expo Secrets中的变量,但本地
.env文件的变量不会同步到EAS,必须手动添加到Secrets中
- 确保Expo UI中添加的Secrets变量名与代码里的
可选:优化app.config.js写法
改为函数式配置,确保环境变量在构建时正确合并:export default ({ config }) => { return { ...config, expo: { ...config.expo, extra: { API_URI: process.env.API_URI, API_KEY: process.env.API_KEY, ...config.extra, }, }, }; };验证修复效果
先用eas build:preview构建预览包测试,或在代码中添加日志输出配置值,通过TestFlight日志工具(或Xcode/Android Studio)确认变量是否正确注入。
内容的提问来源于stack exchange,提问作者Dmitry Amelchenko
相关产品推荐
相关产品推荐

