ponieważ iAd nie działa na całym świecie, postanowiłem wypróbować AdMobAdMob wywala iPhone App Xcode
problemem jest to, że kiedy uruchomić aplikację nie ma żadnych błędów, ale po naciśnięciu grę cała aplikacja wywala
błąd ->
[GADBannerView prywatne]: nierozpoznany selektor wysyłane do instancji 0x9159e50 2012-07-30 09: 14: 12,676 app [1323: c07] * Kończenie aplikacji ze względu na t O przechwycony wyjątek 'NSInvalidArgumentException' powodu: '- [GADBannerView prywatny] Przełącznik nierozpoznane wysyłane do przykładu 0x9159e50'
kodu
->
.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;
punkt przerwania->
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
wyjątek w 0x1f5e4: movl 217442(%esi), %ecx
Nic oczywiście nie tak z zamieszczonych kodu. Ustaw punkt przerwania na nierozpoznanym selektorze (zobacz to [pytanie] (http://stackoverflow.com/questions/7354169/breaking-on-unrecognized-selector)) i opublikuj pełny stacktrace po tym, jak debugger dotrze do punktu przerwania. – Codo