首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >AdMob崩溃并显示[GADObjectPrivate changeState:]:无法识别的选择器

AdMob崩溃并显示[GADObjectPrivate changeState:]:无法识别的选择器
EN

Stack Overflow用户
提问于 2012-09-28 15:12:29
回答 4查看 17.2K关注 0票数 51

我已经安装了XcodeSDK6.2.0(Xcode4.5 (4G182),我正在iPhone 4S和模拟器上测试)。我遵循了本教程,只想让AdMob显示一次横幅。但是它在最后一行崩溃了:

代码语言:javascript
复制
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新项目1467:c07 -GADObjectPrivate changeState::无法识别的选择器发送到实例0x95c17d02012-09-28 09:03:58.276 NewProject1467:c07 *由于未捕获异常'NSInvalidArgumentException‘而终止应用程序,原因:'-GADObjectPrivate changeState::发送到实例0x95c17d0的无法识别的选择器’

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

编辑:在示例项目中使用完全相同的代码。有没有什么地方我可以做错我的项目文件,从而导致该错误?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-09-28 19:19:35

您需要将-ObjC添加到应用程序目标的build设置的其他链接器标志:

  1. 在XCode
  2. 中单击蓝色顶级项目图标,选择目标,然后转到其他链接器标志下的生成设置
  3. 为发行版和调试

添加-ObjC

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

也一定要做一个清理和重建

票数 171
EN

Stack Overflow用户

发布于 2013-08-31 02:01:26

对我来说最好的解决方案是使用-force_load标志而不是-ObjC

票数 4
EN

Stack Overflow用户

发布于 2013-08-15 06:03:19

如果你们仍然有问题,确定是-Objc而不是-ObjC。天啊,我花了好几个星期才找出原因。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12635283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档