我在我的应用中使用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];
谢谢大家的帮助。
答案 0 :(得分:1)
将请求放入ViewDidAppear
方法。
答案 1 :(得分:0)
也许你应该添加子视图:当adView准备就绪时。即:内部admob的-adViewDidReceiveAd:。祝你好运!
答案 2 :(得分:0)
由于此问题与缺少-ObjC链接器标志有关, 请检查您的存档架构,并确保它使用的是发布配置文件。 (如果这是一个旧项目,您可以在之前创建分发配置文件(苹果在示例中以这种方式执行),并且存档可能会使用该配置文件)