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

Expo EAS构建React Native应用时,忽略GoogleService-Info.plist导致TestFlight版本启动崩溃的问题求助

Expo EAS构建React Native应用时,忽略GoogleService-Info.plist导致TestFlight版本启动崩溃的问题求助

各位大佬好,我遇到一个特别头疼的问题想请教下:

我正在用Expo EAS给我的React Native应用做云构建,因为打算把Git仓库设为公开,所以把包含Google API密钥的GoogleService-Info.plist文件加入了.gitignore。本地模拟器运行完全正常,EAS构建也能顺利通过,但用TestFlight把安装包装到手机上后,一打开App就直接崩溃,而且一开始根本找不到有用的错误日志——连Mac上的Console.app都没输出相关信息,最后还是在iOS设置的「隐私与安全性 > 分析与改进 > 分析数据」里才挖到崩溃日志。

从日志里能看到核心崩溃信息:

"exception": { "codes": "0x0000000000000000, 0x0000000000000000", "rawCodes": [0,0], "type": "EXC_CRASH", "signal": "SIGABRT" }, "termination": { "flags": 0, "code": 6, "namespace": "SIGNAL", "indicator": "Abort trap: 6", "byProc": "StreamTrack", "byPid": 21823 }, "asi": { "libsystem_c.dylib": ["abort() called"] }

而且在lastExceptionBacktrace里能看到最后触发崩溃的是Firebase初始化相关的方法:

"lastExceptionBacktrace" : [ ..., { "imageOffset": 1543840, "symbol": "-[NSException initWithCoder:]", "symbolLocation": 0, "imageIndex": 94 }, { "imageOffset": 17032, "symbol": "+[FIRApp configure]", "symbolLocation": 84, "imageIndex": 11 }, ... ]

对应我在firebaseConfig.ts里的初始化代码:

let app = {} as FirebaseApp, auth = {} as Auth;
try {
  // Initialize Firebase
  app = initializeApp(firebaseConfig);
  // Initialize Auth with React Native persistence
  auth = initializeAuth(app, {
    persistence: reactNativePersistence(AsyncStorage),
  });
} catch(e: any) {
  console.warn("Error initializing firebase: ", e);
}

我本来以为用try-catch能捕获错误,但这个崩溃是发生在底层Swift/OC代码里,根本抓不到。查了资料说这种错误一般是GoogleService-Info.plist缺失或者Firebase配置有问题,但本地运行完全正常,所以应该就是plist文件在EAS构建时没有被正确包含进去的问题。

我试过一些解决方案,但还是没解决这个崩溃问题,有没有大佬遇到过类似情况,能给点思路吗?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.07 13:32:58