`
bsr1983
  • 浏览: 1124277 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

更新admob ios sdk到GoogleAdMobAdsSdkiOS-6.2.1时编译报错

 
阅读更多
        因修改游戏代码,增加admob点击广告监听事件后,发现在iphone4 ios5.1.1下没有捕获到到对应的事件
//点击广告后切换回游戏时
- (void)adViewDidDismissScreen:(GADBannerView *)adView
因此使用的是切出游戏时的事件
- (void)adViewWillLeaveApplication:(GADBannerView *)adView
将sdk升级到最近版本,尝试解决点击广告未触发- (void)adViewDidDismissScreen:(GADBannerView *)adView的问题。
下载地址
http://dl.google.com/googleadmobadssdk/googleadmobadssdkios.zip
解压后发现相比之前用的sdk多了几个头文件,将相关代码拷贝到原来sdk目录下进行覆盖。
clear后build,报错。
(1)错误1
Undefined symbols for architecture armv7:
  "CGSizeFromGADAdSize(GADAdSize)", referenced from:
      -[iFarmerAppDelegate buildADmobADView] in iFarmerAppDelegate.o
      -[iFarmerAppDelegate setAdViewPostion:withY:] in iFarmerAppDelegate.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

查询相关代码,发现此处报错是因为之前版本与最新版本中的GAD_SIZE相关预定义值发生了变化,之前版本中GAD_SIZE的定义是放在GADBannerView.h中:
// iPhone and iPod Touch ad size.
#define GAD_SIZE_320x50     CGSizeMake(320, 50)

// Medium Rectangle size for the iPad (especially in a UISplitView's left pane).
#define GAD_SIZE_300x250    CGSizeMake(300, 250)

// Full Banner size for the iPad (especially in a UIPopoverController or in
// UIModalPresentationFormSheet).
#define GAD_SIZE_468x60     CGSizeMake(468, 60)

// Leaderboard size for the iPad.
#define GAD_SIZE_728x90     CGSizeMake(728, 90)
而最新版本中增加了一个GADAdSize.h,所有的 GAD_SIZE的定义放到了该头文件中,且内容和之前的也不一样:
#define GAD_SIZE_320x50     CGSizeFromGADAdSize(kGADAdSizeBanner)
#define GAD_SIZE_300x250    CGSizeFromGADAdSize(kGADAdSizeMediumRectangle)
#define GAD_SIZE_468x60     CGSizeFromGADAdSize(kGADAdSizeFullBanner)
#define GAD_SIZE_728x90     CGSizeFromGADAdSize(kGADAdSizeLeaderboard)
#define GAD_SIZE_120x600    CGSizeFromGADAdSize(kGADAdSizeSkyscraper)

因此,最简单的修改方式就是将使用预定义变量的地方直接替换为原来版本中其对应文本即可

(2)错误2
Undefined symbols for architecture armv7:
  "_OBJC_CLASS_$_ASIdentifierManager", referenced from:
      objc-class-ref in libGoogleAdMobAds.a(GADIdentifierUtilities.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

"_OBJC_CLASS_$_ASIdentifierManager", referenced from:

Objc-class-ref in libGoogleAdMobAds.a(GADIdentifierUtilities.o)

Symbol(s) not found for architecture armv7

:Linker command failed with exit code 1 (use -v to see invocation)

查询后发现是缺少了AdSupport.framework,添加后解决该编译错误。
分享到:
评论

相关推荐

    Google Admob iOS SDK - 2015-02-03

    Admob iOS SDK 7.0.0 版,改进对iOS8的支持。•Dropped support for iOS 5. •Released SDK as a framework. •Removed dependency on the -ObjC linker flag. •Improved ad loading time on iOS 8. •Added ...

    admob 广告 SDK IOS

    AdMob SDK for iOS是专门为苹果设备优化的版本,允许开发者在其应用程序中无缝地展示各种类型的广告,如横幅广告、插屏广告、激励视频广告等。本文将详细介绍AdMob SDK for iOS的集成、配置、广告类型以及最佳实践。...

    cocos creator 发布IOS版本(三) google admob广告sdk接入

    详细讲解:https://blog.csdn.net/weixin_41843959/article/details/119682017 这个demo在虚拟器上会出现,调用广告有时候会出现Cannot find an ad network adapter with the name(s): ...

    Admob SDK 最新版本7.32

    Admob 广告SDK最新版本Admob SDK 7.32,也就是google play service 7.32.是Admob升级后的SDK最新版本。Admob常常被墙,为方便把Admob SDK 最新版本放这方便下载使用

    最新版android admob sdk 9

    安卓版admob sdk 最新版本9,google play service sdk中广告部分firebase sdk版本中广告部分,最新版本google 广告,admob android sdk最新版本

    AdMob_Android_SDK_Instructions.pdf

    首先,在项目的根目录下创建一个名为 libs 的子目录,以便存放 AdMob JAR 文件(admob-sdk-android.jar)。如果您使用 Android 的 activitycreator 工具,那么该目录已经创建好了。然后,将 AdMob JAR 文件复制到 ...

    admob sdk for ios6.0

    1. **AdMob SDK**:AdMob SDK是Google提供的开发工具包,它包含了必要的库和资源,开发者可以将其整合到自己的iOS应用中,以便显示广告、跟踪性能并管理广告网络。通过SDK,开发者可以接入各种广告格式,如横幅广告...

    googleads_mobile_ios_objc_api_demo.zip

    《Google AdMob iOS SDK Objective-C API 演示应用详解》 在移动应用开发领域,广告变现是许多开发者关注的重点,Google AdMob 提供了一套强大的广告服务,支持 Android 和 iOS 平台。本文将深入探讨 Google AdMob ...

    Unity 2019接入iOS SDK步骤1

    Unity 2019 接入 iOS SDK 步骤 1 是 Unity 2019 中的一步骤,用于将 iOS SDK 集成到 Unity 项目中。这个步骤非常重要,因为它可以帮助开发者在 iOS 平台上实现广告展示和其他功能。下面是 Unity 2019 接入 iOS SDK ...

    admob sdk

    GoogleAdMobAdsSdk-6.4.1.jar

    unity3d ios平台,接入第三方sdk

    在Unity3D游戏开发中,将游戏发布到iOS平台时常需要接入第三方SDK,以实现诸如广告展示、社交网络分享、用户登录验证、支付系统等功能。本教程将详细讲解如何在Unity3D中接入iOS的第三方SDK,以实现跨平台的游戏功能...

    admob聚合---android---代码(java)跟布局文件

    通过以上步骤,你已经成功地将AdMob集成到Android应用中。但请记住,根据AdMob的政策,不要过度使用广告以免影响用户体验,并且需要遵守广告网络的相关规定,确保应用的合规性。在实际开发过程中,可能还需要处理...

    AdviewSDK_Android-master

    4. **Ad Network Integrations**:AdviewSDK可能集成了多个广告网络,如Google AdMob、Facebook Audience Network、InMobi等,这样开发者只需通过一个SDK就能管理多个广告源。 5. **Ad Formats**:支持多种广告格式...

    ios admob demo

    **iOS AdMob SDK简介** iOS AdMob SDK是Google提供的一个广告平台,专为iOS开发者设计,用于在他们的应用程序中集成广告。AdMob提供了一个简单、高效的方法来展示各种类型的广告,包括横幅广告、插屏广告和激励视频...

    GoogleAdMobAdsSdk

    GoogleAdMobAdsSdk,广告移植进入apk中

    ADMob 广告的SDK

    ADMob SDK包含了所有必要的组件,使开发者能够将广告无缝地整合到自己的应用中。 ### 2. 安装与集成 要在项目中使用ADMob SDK,首先需要在Google Developer Console创建一个新的应用,并获取相应的App ID和Ad Unit ...

    Admob for iOS Android Amazon.rar

    《AdMob在Unity中为iOS、Android和Amazon平台的集成指南》 AdMob是Google提供的一款强大的移动广告平台,它允许开发者在iOS、Android以及Amazon设备上展示广告,从而为应用创造收入。本指南将详细介绍如何在Unity...

    admob-demo-app-ionic

    Cordova AdMob插件游戏演示 使用Ionic框架的应用演示 快速开始 首先,请确保已安装Android SDK(适用于android)或Xcode(适用于iOS)。...plugin-verify admob-demo-app-ionic ios --portrait 截屏

    Android SDK r20离线安装包-2

    Android SDK r20离线安装包-2 1、基础包 ... Google Admob Ads Sdk package Google Market Billing package Google Market Licensing package Google USB Driver package Google Webdriver package

    admob压缩包

    GoogleAdMobAdsSDKiOS-6.4.2 是 AdMob 提供的针对 iOS 平台的软件开发工具包(SDK),版本号为 6.4.2。这个版本的 SDK 包含了集成 AdMob 广告所需的所有组件和库,使得 iOS 开发者能够轻松地在他们的应用中引入广告...

Global site tag (gtag.js) - Google Analytics