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

Expo Secrets问题:EXPO_BUILD_FIREBASE_API_KEY在TestFlight中无效

Expo Build环境下Firebase API密钥无效问题解决
  • 先搞清楚Expo环境变量的区别:

    • 带EXPO_PUBLIC_前缀的变量是给客户端用的,不管本地开发还是打包后的App都能读到,所以你本地用这个前缀能正常工作是对的。
    • 而EXPO_BUILD_前缀的变量只有在构建过程中能访问,构建完成后不会被打包进客户端代码里。这就是为什么你用process.env.EXPO_BUILD_FIREBASE_API_KEY在TestFlight里无效——App运行时根本拿不到这个变量。
  • 关于密钥里的连字符:
    Firebase API密钥带连字符是完全正常的,不需要加转义符或者引号。你硬编码能正常用,就说明密钥本身没问题,别在这浪费时间。

  • 正确的解决办法:
    如果要在App运行时用这个密钥,直接把变量名改成EXPO_PUBLIC_FIREBASE_API_KEY,然后在Expo账户里更新对应的环境变量配置。构建的时候Expo会把这个变量注入到客户端代码里,TestFlight版本就能正常读取了。

    补充一句:虽然Firebase API密钥可以公开(官方有安全机制限制它的使用场景),但如果你的项目有特殊保密需求,最好通过后端代理Firebase请求,别直接在客户端暴露密钥。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 12:33:09