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

Expo SDK 47集成react-native-google-mobile-ads后EAS构建启动崩溃求助

解决Expo SDK 47集成react-native-google-mobile-ads后iOS启动崩溃问题

1. 修正App ID格式

首先确认ios_app_id和android_app_id使用的是应用级ID,正确格式为ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy,而非你当前使用的ca-app-pub-xxx/xxx(这是广告单元ID格式)。混淆两类ID会直接导致SDK初始化失败,触发启动崩溃。

2. 确保EAS构建正确加载配置

  • 检查eas.json的development配置,确认开启预构建流程:
    {
      "build": {
        "development": {
          "developmentClient": true,
          "distribution": "internal",
          "ios": {
            "resourceClass": "m1-medium"
          },
          "prebuildCommand": "npx expo prebuild --clean"
        }
      }
    }
    
  • 手动执行npx expo prebuild --clean生成原生文件,进入iOS目录查看GoogleService-Info.plist,确认其中GADApplicationIdentifier字段与你配置的ios_app_id完全一致。

3. 排查原生代码冲突

  • 检查iOS原生项目的AppDelegate.m/AppDelegate.swift,确保没有手动添加Google Mobile Ads SDK的初始化代码。react-native-google-mobile-ads会自动完成初始化,重复代码会引发冲突崩溃。
  • 确认项目中没有其他广告类库与Google Mobile Ads SDK存在版本兼容问题。

4. 获取精准崩溃日志

如果以上步骤无效,必须拿到具体崩溃信息定位问题:

  • 把iPhone连接到Mac,打开Xcode,选择Window > Devices and Simulators,找到对应设备后点击View Device Logs,筛选你的应用崩溃记录,查看Exception Type和栈跟踪信息,这会直接指向崩溃根源。
  • 可以在eas.json的development配置中开启调试符号,让日志更详细:
    "ios": {
      "debugSymbols": true
    }
    

5. 调整库版本适配

部分react-native-google-mobile-ads版本与Expo SDK 47存在兼容性问题,尝试降级到11.8.0版本:

npm install react-native-google-mobile-ads@11.8.0

之后重新执行预构建和EAS构建。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 20:40:44