[Состояние GADSlot]: нераспознанный селектор отправлен на экземпляр в iphone
Я новичок в разработке iOS.
Я пытаюсь внедрить рекламу AdMob в iOS в своем приложении телефонной пробки, поэтому я нашел Google и нашел Sobve AdMob без плагина.
после выполнения всех процедур я получил ошибку MyApp[2388:70b] * Завершение работы приложения из-за необработанного исключения "NSInvalidArgumentException", причина: "-[Состояние GADSlot]: нераспознанный селектор, отправленный экземпляру 0x10415920'**
так что я погуглил и обнаружил, что должен изменить другие флаги компоновщика. (-ObjC) здесь
Я попробовал это, но это не работает.
Я получаю эту ошибку.
это решение также не работает для меня. [Состояние GADSlot]: нераспознанный селектор отправлен на экземпляр
2014-04-21 13:04:41.252 MyApp[2388:70b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[GADSlot state]: unrecognized selector sent to instance 0x10415920'
*** First throw call stack:
(
0 CoreFoundation 0x038a85e4 __exceptionPreprocess + 180
1 libobjc.A.dylib 0x02acb8b6 objc_exception_throw + 44
2 CoreFoundation 0x03945903 -[NSObject(NSObject) doesNotRecognizeSelector:] + 275
3 CoreFoundation 0x0389890b ___forwarding___ + 1019
4 CoreFoundation 0x038984ee _CF_forwarding_prep_0 + 14
5 MyApp 0x0001a01e -[GADSlot isMakingRequest] + 36
6 MyApp 0x00019c7d -[GADSlot setAdType:andReloadRequest:] + 334
7 MyApp 0x00018a5e -[GADBannerView setAdSize:andReload:] + 512
8 MyApp 0x00019052 -[GADBannerView setAdSize:] + 62
9 MyApp 0x00019381 -[GADBannerView initWithAdSize:] + 171
10 MyApp 0x00003e17 -[MainViewController viewDidLoad] + 118
11 UIKit 0x0021c318 -[UIViewController loadViewIfRequired] + 696
12 UIKit 0x0021c5b4 -[UIViewController view] + 35
13 MyApp 0x00002997 -[AppDelegate application:didFinishLaunchingWithOptions:] + 763
14 UIKit 0x00102355 -[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] + 309
15 UIKit 0x00102b95 -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1536
16 UIKit 0x001073a8 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 824
17 UIKit 0x0011b87c -[UIApplication handleEvent:withNewEvent:] + 3447
18 UIKit 0x0011bde9 -[UIApplication sendEvent:] + 85
19 UIKit 0x00109025 _UIApplicationHandleEvent + 736
20 GraphicsServices 0x038062f6 _PurpleEventCallback + 776
21 GraphicsServices 0x03805e01 PurpleEventCallback + 46
22 CoreFoundation 0x03823d65 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 53
23 CoreFoundation 0x03823a9b __CFRunLoopDoSource1 + 523
24 CoreFoundation 0x0384e77c __CFRunLoopRun + 2156
25 CoreFoundation 0x0384dac3 CFRunLoopRunSpecific + 467
26 CoreFoundation 0x0384d8db CFRunLoopRunInMode + 123
27 UIKit 0x00106add -[UIApplication _run] + 840
28 UIKit 0x00108d3b UIApplicationMain + 1225
29 MyApp 0x000025fd main + 95
30 MyApp 0x00002595 start + 53
)
libc++abi.dylib: terminating with uncaught exception of type NSException
пожалуйста, помогите мне.
main.m
#import <UIKit/UIKit.h>
int main(int argc, char *argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate");//It highlight this line when exception accoure.
[pool release];
return retVal;
}
MainViewController.m
- (void) viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
bannerView_ = [[GADBannerView alloc]initWithAdSize:kGADAdSizeSmartBannerPortrait];
CGRect screenRect = [[UIScreen mainScreen] bounds];
CGFloat screenWidth = screenRect.size.width;
CGFloat screenHeight = screenRect.size.height;
CGFloat screenXPos = (screenWidth/2);
CGFloat screenYPos = screenHeight - kGADAdSizeBanner.size.height;
[bannerView_ setCenter:CGPointMake(screenXPos, screenYPos)];
bannerView_.adUnitID = MY_BANNER_UNIT_ID;
bannerView_.rootViewController = self;
[self.view addSubview:bannerView_];
GADRequest *request = [GADRequest request];
request.testing = NO;
[bannerView_ loadRequest:request];
}
1 ответ
Я думаю, GADBannerView не настроен правильно. Если у вас есть источник для GADBannerView, проверьте его и посмотрите, откуда поступает ссылка на объект. Следует попытаться устранить эту ошибку в этом направлении.
Проверьте также свою версию Adobe, Becoz GDBBannerview является частью Admob, которая может быть получена из этого кода. или попробуйте другой (более старая или более новая версия) admob api.