You need to enable JavaScript to run this app. iOS应用归档时Google Mobile Ads提示Bannerview.adunit已过时问题求助
优惠活动
大模型
产品
解决方案
定价
更多

iOS应用归档时Google Mobile Ads提示Bannerview.adunit已过时问题求助

报错原因

该错误是Google Mobile Ads iOS SDK版本迭代后,废弃了旧的AdUnit属性,强制要求使用AdUnitID属性设置广告单元ID导致的,常见于SDK从v6.x升级到v7.x及以上版本的场景。

解决方案
  • 第一步:全局搜索项目中所有BannerView相关的代码,将所有AdUnit属性赋值的写法,全部替换为AdUnitID。
    你提供的代码片段中已经正确使用了AdUnitID属性,若仍有报错,排查以下两个问题:
  1. 项目编译缓存残留导致旧代码仍被识别,执行完整清理操作后重新打包:

清理项目解决方案 -> 手动删除项目根目录下的bin、obj文件夹 -> 重启IDE -> 重新执行归档操作

  1. 项目其他位置仍存在AdUnit属性的调用,全局搜索项目内的AdUnit关键字,找到所有旧写法替换即可。
正确代码示例
private BannerView CreateBannerView()
{
    if (_bannerView != null)
        return _bannerView;

    var origin = new CGPoint(0, UIScreen.MainScreen.Bounds.Size.Height - AdSizeCons.Banner.Size.Height);

    _bannerView = new BannerView(AdSizeCons.SmartBannerPortrait, origin)
    {
        AdUnitID = Element.AdUnitId, // 此处为正确写法,禁止使用已废弃的AdUnit属性
        RootViewController = GetVisibleViewController()
    };

    _bannerView.LoadRequest(GetRequest());

    return _bannerView;
}

private Request GetRequest()
{
    var request = Request.GetDefaultRequest();
    // 其余广告请求配置逻辑保持不变即可
}

修改完成后先在Debug模式下编译确认无警告,再执行归档操作即可解决该报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 02:12:02