2013-01-12 20 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會這樣做),並且存檔可能會使用該配置文件)

相關問題