2013-01-12 24 views
3

我在仅在iOS 6下运行的应用程序中使用了AdMob 6.2.1。 我已经按照谷歌的说明,并在模拟器上和我的iPhone上运行时,一切都运作良好5.与iOS 6一起使用的AdMob崩溃了应用程序(无法识别的选择器)

但是,提交到苹果应用程序时,我得到它拒绝和崩溃日志显示以下内容:

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) 

我不明白它为什么会为我工作,并与苹果员工崩溃。

我已经将-ObjC(都调试和发布)添加到Other Linker FlagsBuild 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]; 

感谢大家的帮助。

+0

有趣的是,问题通常是由于缺少ObjC标志。您的基本SDK设置为什么?苹果公司还向你提供任何其他有关它们看到的设备/ iOS版本的信息? – RajPara

+0

我的基础SDK被设置为“最新iOS(iOS 6.0)”。苹果表示,他们尝试将应用程序安装到iPhone和iPad上(我的应用程序仅针对iPhone),但也一直在崩溃...... – Jameltheone

+0

您找到了解决方案吗?我的申请不会被拒绝。但它崩溃。 – Yorgo

回答

1

将请求放入ViewDidAppear方法。

+0

谢谢,但ViewDidLoad有什么不同?在谷歌文档可在这里:[链接] http://developers.google.com/mobile-ads-sdk/docs/admob/fundamentals他们要求在ViewDidLoad – Jameltheone

+0

我不知道,我还没有看到源代码。 – Shmidt

0

也许你应该addSubview:当adView准备好了。即:内admob的-adViewDidReceiveAd :.祝你好运!

0

由于此问题与缺少-ObjC链接程序标记 有关,请检查您的存档模式并确保它使用的是发布配置文件。 (如果这是一个旧项目,您可能会在之前创建一个分发配置文件(例如,Apple会这样做),并且存档可能会使用该配置文件)

相关问题