51 votes

AdMob se bloque avec [GADObjectPrivate changeState:]: sélecteur non reconnu

J'ai installé le SDK AdMob 6.2.0 (Xcode 4.5 (4G182) et je suis en train de tester sur un iPhone 4S et le simulateur). J'ai suivi le tutoriel et vous voulez juste pour obtenir AdMob montrant une bannière une fois. Mais il se bloque sur la dernière ligne:

self.bannerView = [[GADBannerView alloc]
               initWithFrame:CGRectMake(0.0,
                                        self.view.frame.size.height -
                                        GAD_SIZE_320x50.height,
                                        GAD_SIZE_320x50.width,
                                        GAD_SIZE_320x50.height)];

self.bannerView.delegate = self;
self.bannerView.adUnitID = @"xREMOVEDBYMEx";
self.bannerView.rootViewController = self;
[self.view addSubview:self.bannerView];
GADRequest * request = [GADRequest request];
request.testing = YES;
[self.bannerView loadRequest:request];

L'accident est

2012-09-28 09:03:58.268 NewProject[1467:c07] -[GADObjectPrivate changeState:]: unrecognized sélecteur envoyé à l'instance 0x95c17d0 2012-09-28 09:03:58.276 NewProject[1467:c07] * Résiliation d'application en raison de uncaught exception 'NSInvalidArgumentException', la raison: '-[GADObjectPrivate changeState:]: unrecognized sélecteur envoyé à l'instance 0x95c17d0'

Cela ressemble à un bug dans la bibliothèque pour moi, mais je pense que c'est très peu probable. Toutes les pensées?

EDIT: Le même code fonctionne dans l'exemple des projets. Il y a une chose que je peux faire de mal avec mon fichier de projet qui aurait pour conséquence que l'erreur?

171voto

bart Points 1736

Vous avez besoin d'ajouter -ObjC pour les Autres Linker les Drapeaux de votre application cible du paramètre de construction:

  1. Cliquez sur le bleu de haut niveau de l'icône de projet dans XCode
  2. Choisissez votre cible et aller à Paramètres de construction de la
  3. Sous d'Autres Drapeaux de l'éditeur de liens ajouter -ObjC pour les deux Release et Debug

Source: https://developers.google.com/mobile-ads-sdk/docs/admob/mediation#ios-linker

Assurez-vous également d'effectuer un travail propre et de reconstruire

4voto

Dmitry Nelepov Points 2890

La meilleure solution pour moi est d'utiliser l'option -force_load à la place -ObjC entrez la description de l'image ici

3voto

Ninja Points 981

Si vous rencontrez toujours des problèmes, assurez-vous que c'est -ObjC et non -Objc. Décidément, j'ai passé des semaines à essayer de comprendre pourquoi.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X