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

Swift iOS15应用集成Admob横幅广告启动崩溃问题求助

问题原因&解决方案

1. 直接崩溃的核心原因

你写的Banner组件出现了无限递归调用:Banner结构体的body属性内部又初始化了Banner()本身,导致栈内存溢出,触发EXC_BAD_ACCESS崩溃。

2. 修复代码

只需要修改BannerView里的Banner结构体实现,把内部的Banner()替换为你封装好的BannerVC即可:

struct Banner:View{
    var body: some View{
        HStack{
            Spacer()
            // 原代码这里错误写为Banner(),调用自身导致无限递归
            BannerVC().frame(width: 320, height: 50, alignment: .center)
            Spacer()
        }
    }
}

3. 关于4099错误日志

你移除广告逻辑后出现的报错是Xcode模拟器的系统服务异常,和AdMob集成逻辑没有关系,在真机运行时不会出现,直接忽略即可。

其他可选优化点

  • 可以给GADBannerView设置GADBannerViewDelegate代理,监听广告加载成功、失败的回调,方便排查加载问题
  • 建议在AdMob初始化完成后再加载广告,避免出现偶发的初始化未完成导致的加载失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 15:06:05