3

我在仅在 iOS 6 下运行的应用中使用 AdMob 6.2.1。我已经按照谷歌的说明在模拟器和我的 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 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];

谢谢大家的帮助。

4

3 回答 3

1

将请求放入ViewDidAppear方法中。

于 2013-01-12T10:43:45.237 回答
0

也许你应该 addSubview: 当 adView 准备好时。即:在admob 的-adViewDidReceiveAd 中:。祝你好运!

于 2013-08-06T06:54:41.057 回答
0

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

于 2013-10-04T07:21:40.680 回答