AdMob的崩溃与[GADObjectPrivate改变状态:]:无法识别选择(AdMob cras

2019-06-18 08:58发布

我已经安装了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改变状态:]:无法识别的选择发送到实例0x95c17d0 2012-09-28 09:03:58.276 NewProject [1467:C07] *终止应用程序由于未捕获的异常 'NSInvalidArgumentException',原因: ' - [GADObjectPrivate改变状态:]:无法识别的选择发送到实例0x95c17d0'

这看起来像是在图书馆给我一个错误,但我认为是不太可能。 有什么想法吗?

编辑:在示例项目完全相同的代码工作。 有什么我可以做的不对我的项目文件,这将导致该错误?

Answer 1:

您需要添加-ObjC到你的应用目标构建设置中的Other Linker标志

  1. 点击Xcode中蓝色的顶级项目图标
  2. 选择你的目标,去构建设置
  3. 其它链接器标记添加-ObjC用于发布调试

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

此外,一定要做到廉洁重建



Answer 2:

对我来说最好的解决办法是使用-force_load标志,而不是-ObjC



Answer 3:

如果你们仍然有问题,确保它的-ObjC而不是-ObjC。 吉兹,花了几个星期试图找出原因。



Answer 4:

对于那些你们谁试图添加对象 - 链接器标志和仍然有尝试加载广告,我发现修复错误时相同的“发送到实例无法识别的选择”。 这是最新的XCode(版本8.1)。

以供参考:

  • 我使用的CocoaPods加入谷歌的AdMob。
  • 我用故事板制作的出口连接到我的视图-控制和GADBannerView上是不能作为一个类,所以我写了它最喜欢的人一样。
  • 在我看到的自定义类的bannerview设置为GADBannerView上的计算器答案,我想如果这是在下拉列表中的选项,当你添加的出口会自动发生之一。 对我来说,这不是因为我有给它自己的类型。

望着我看到的GADBannerView是可以作为一个选项,选中下拉。

选择它后,应用程序运行顺利,没有必要添加链接标志(我的是默认为空),或任何东西。

希望这可以帮助别人!



文章来源: AdMob crashes with [GADObjectPrivate changeState:]: unrecognized selector