iphone - AdMob 崩溃并显示 [GADObjectPrivate changeState

我已经安装了 AdMob SDK 6.2.0(Xcode 4.5 (4G182),我正在 iPhone 4S 和模拟器上进行测试)。我按照教程操作,只想让 AdMob 显示一次横幅。但它在最后一行崩溃:

self.bannerView = [[GADBannerView alloc]
               initWithFrame:CGRectMake(0.0,
                                        self.view.frame.size.height -
                                        GAD_SIZE_320x50.height,
                                        GAD_SIZE_320x50.width,
                                        GAD_SIZE_320x50.height)];

self.bannerView.delegate = self;
self.bannerView.adUnitID = @"xREMOVEDBYMEx";
self.bannerView.rootViewController = self;
[self.view addSubview:self.bannerView];
GADRequest * request = [GADRequest request];
request.testing = YES;
[self.bannerView loadRequest:request];

崩溃是

2012-09-28 09:03:58.268 NewProject[1467:c07] -[GADObjectPrivate changeState:]: unrecognized selector sent to instance 0x95c17d0 2012-09-28 09:03:58.276 NewProject[1467:c07] * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[GADObjectPrivate changeState:]: unrecognized selector sent to instance 0x95c17d0'

对我来说,这看起来像是库中的一个错误,但我认为这不太可能。有什么想法吗?

编辑:完全相同的代码在示例项目中工作。我的项目文件有什么问题会导致该错误吗?

最佳答案

您需要将 -ObjC 添加到应用程序目标的build设置的Other Linker Flags:

  1. 单击 XCode 中的蓝色顶级项目图标
  2. 选择您的目标并转到build设置
  3. Other Linker Flags 下为 ReleaseDebug
  4. 添加 -ObjC

来源:https://developers.google.com/mobile-ads-sdk/docs/admob/mediation#ios-linker

还要确保进行清理和重建

关于iphone - AdMob 崩溃并显示 [GADObjectPrivate changeState :]: unrecognized selector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12635283/

相关文章:

ios - 如何调整 UITableView 中原型(prototype)单元格的左边距?

objective-c - 可变集合有文字语法吗?

objective-c - iOS 8 Mapkit Objc 无法获取用户位置

objective-c - 如何在 Objective-C 中使用自定义委托(delegate)

iphone - 如何阻止 NSNotification 中的观察者调用两次?

ios - UIButton 底部阴影

objective-c - 如何在 Objective-C 中调用方法?

iphone - 如何在 UITextView 中设置边距(填充)?

objective-c - Objective-C 中的简单 http post 示例?

iphone - 如何设置字体大小以填充 UILabel 高度?