AdMob崩溃了应用程序Xcode iPhone

6
因为iAd在全球范围内无法使用,所以我决定尝试AdMob。
问题是,当我启动应用程序时没有错误,但是当我点击“开始游戏”时,整个应用程序崩溃了。
错误信息如下 -> [GADBannerView private]: unrecognized selector sent to instance 0x9159e50 2012-07-30 09:14:12.676 app[1323:c07] * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[GADBannerView private]: unrecognized selector sent to instance 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 处:移动 217442(%esi)到 %ecx。


发布的代码没有明显的错误。在无法识别的选择器上设置断点(参见此问题),并在调试器触发断点后发布完整的堆栈跟踪信息。 - Codo
1个回答

17

1
投票了,你救了我的命:D - Viet Nguyen
你的意思是必须去掉 all_load 吗?我已经去掉了,但问题仍然存在。 - Gank
你需要添加 -all_load 链接器标志。 - David

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接