2012-07-30 41 views
6

因为iAd的不世界,我决定尝试一下AdMob的周围的所有工作的AdMob崩溃的应用程序的Xcode iPhone

的问题是,当我启动应用程序没有错误,但是当我按下玩游戏 整个应用程序崩溃

错误 - >

[私人的GADBannerView]:无法识别的选择发送到实例0x9159e50 2012-07-30 09:14:12.676的应用[1323:C07] *终止应用程序 由于t ø未捕获的异常 'NSInvalidArgumentException',原因: ' - [私人的GADBannerView]:无法识别的选择发送到实例 0x9159e50'

代码 - >

.H

#import "GADBannerView.h" 
GADBannerView *_AbMob; 
@property(nonatomic,retain) GADBannerView *AbMob; 

.M

_AbMob =[[GADBannerView alloc]initWithFrame:CGRectMake(0.0,self.view.frame.size.height-195, 320, 50)]; 

    _AbMob.adUnitID = @"myNumber"; 
    _AbMob.rootViewController = self; 
    [self.view addSubview:_AbMob]; 



    GADRequest *r = [[GADRequest alloc] init]; 
    r.testing = YES; 

breakpoint->

app`-[GADBannerView adSize] at GADBannerView.m:100: 
0x1f5c2: pushl %ebp 
0x1f5c3: movl %esp, %ebp 
0x1f5c5: pushl %esi 
0x1f5c6: subl $20, %esp 
0x1f5c9: calll 0x1f5ce     ; -[GADBannerView adSize] + 12 at GADBannerView.m:101 
0x1f5ce: popl %esi 
0x1f5cf: movl 217414(%esi), %eax 
0x1f5d5: movl %eax, 4(%esp) 
0x1f5d9: movl 12(%ebp), %eax 
0x1f5dc: movl %eax, (%esp) 
0x1f5df: calll 0x32022     ; symbol stub for: objc_msgSend 
0x1f5e4: movl 217442(%esi), %ecx 
0x1f5ea: movl %ecx, 4(%esp) 
0x1f5ee: movl %eax, (%esp) 
0x1f5f1: calll 0x32022     ; symbol stub for: objc_msgSend 
0x1f5f6: movl 8(%ebp), %ecx 
0x1f5f9: testl %eax, %eax 
0x1f5fb: je  0x1f618     ; -[GADBannerView adSize] + 86 at GADBannerView.m:101 
0x1f5fd: movl 217402(%esi), %edx 
0x1f603: movl %edx, 8(%esp) 
0x1f607: movl %eax, 4(%esp) 
0x1f60b: movl %ecx, (%esp) 
0x1f60e: calll 0x32034     ; symbol stub for: objc_msgSend_stret 
0x1f613: addl $16, %esp 
0x1f616: jmp 0x1f62f     ; -[GADBannerView adSize] + 109 at GADBannerView.m:101 
0x1f618: movl $0, 4(%ecx) 
0x1f61f: movl $0, (%ecx) 
0x1f625: movl $0, 8(%ecx) 
0x1f62c: addl $20, %esp 
0x1f62f: popl %esi 
0x1f630: popl %ebp 
0x1f631: ret $4 

例外在0x1f5e4: movl 217442(%esi), %ecx

+0

没有什么明显错误的发布代码。在未被识别的选择器上设置一个断点(参见这个[question](http://stackoverflow.com/questions/7354169/breaking-on-unrecognized-selector)),并在调试器击中断点后发布完整的堆栈跟踪。 – Codo 2012-07-30 07:46:02

回答

17

我只是碰到了这个问题了。我使用了-all_load链接器标志。

这是您需要的链接。

https://developers.google.com/mobile-ads-sdk/docs/#incorporating

+1

投票结果,你安全了我的生活:D – vietnguyen09 2014-05-21 01:55:04

+0

你的意思是它必须删除'all_load'?我已将其删除,但问题仍然存在 – Gank 2014-08-10 01:57:25

+0

您需要添加'-all_load'链接器标志。 – David 2014-08-11 17:28:09