与iOS 6一起使用的AdMob会崩溃应用程序(无法识别的选择器)

时间:2013-01-12 10:12:43

标签: ios crash admob selector unrecognized-selector

我在我的应用中使用AdMob 6.2.1,仅在iOS 6下运行。 我已经按照谷歌的说明,在模拟器和iPhone 5上运行时一切运行良好。

但是,在向Apple提交应用程序时,我拒绝了它,崩溃日志显示以下内容:

Last Exception Backtrace:
0   CoreFoundation                  0x3abcb3e2 __exceptionPreprocess + 158
1   libobjc.A.dylib                 0x392d695e objc_exception_throw + 26
2   CoreFoundation                  0x3abcef2c -[NSObject(NSObject) doesNotRecognizeSelector:] + 180
3   CoreFoundation                  0x3abcd648 ___forwarding___ + 388
4   CoreFoundation                  0x3ab25204 _CF_forwarding_prep_0 + 20
5   Dus                             0x000d39f4 -[GADObjectPrivate loadPrivateRequest:autoRefresh:] (GADObjectPrivate.m:402)
6   Dus                             0x000d5454 -[GADObjectPrivate loadRequest:] (GADObjectPrivate.m:827)
7   Dus                             0x000d2f20 -[GADBannerView loadRequest:] (GADBannerView.m:271)
8   Dus                             0x000b57cc -[DMViewController viewDidLoad] (DMViewController.m:131)

我不明白为什么它对我有用并且与Apple工作人员一起崩溃。

我已将-ObjC(包括调试和发布)添加到Other Linker Flags中的Build Settings

以下是发生崩溃的块代码:

bannerView = [[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner origin:origin];

bannerView.adUnitID = @"MYBANNERID";
[bannerView setRootViewController:self];
[bannerView setDelegate:self];
bannerView.center = CGPointMake(self.view.center.x, bannerView.center.y);

GADRequest *request = [GADRequest request];

[bannerView loadRequest:request]; //CRASHES HERE
[self.view addSubview:bannerView];

谢谢大家的帮助。

3 个答案:

答案 0 :(得分:1)

将请求放入ViewDidAppear方法。

答案 1 :(得分:0)

也许你应该添加子视图:当adView准备就绪时。即:内部admob的-adViewDidReceiveAd:。祝你好运!

答案 2 :(得分:0)

由于此问题与缺少-ObjC链接器标志有关, 请检查您的存档架构,并确保它使用的是发布配置文件。 (如果这是一个旧项目,您可以在之前创建分发配置文件(苹果在示例中以这种方式执行),并且存档可能会使用该配置文件)