web-dev-qa-db-fra.com

Continuez à recevoir des messages d'erreur lors de la compilation de la dernière version d'admob sur le SDK IOS6

J'ai téléchargé la dernière version de googles admob sdk. Mais maintenant, je continue à obtenir l'erreur suivante lors de la compilation dans xcode 4.5 avec le dernier sdk.

Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_ASIdentifierManager", referenced from:
      objc-class-ref in libGoogleAdMobAds.a(GADIdentifierUtilities.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Une idée sur ce qui pourrait être faux?

41
Øystein

Vous n'avez probablement pas ajouté AdSupport.framework. N'oubliez pas non plus de supprimer -all_load drapeau de l'éditeur de liens.

181
Deor

Besoin d'AdSupport.framework dans xcode 4.5 et admob 6.x

9
zszen

D'une autre manière, vous pouvez le corriger sans ajouter de framework supplémentaire, supprimez l'indicateur "-Obj" de "Linking> Other Linker Flags" si cet indicateur n'est pas requis pour votre projet.

Dans mon cas, c'était différent, j'avais pris en charge le GoogleConvertionTracking.lib mais après quelques versions, le client a décidé de supprimer le GoogleConvertionTracking.lib du client. Après avoir supprimé tout le code requis du client, j'ai commencé à obtenir cette erreur de "" _ OBJC_CLASS _ $ _ ASIdentifierManager ", référencé à partir de:"

Après avoir parcouru le document de support de GoogleConvertionTracking, j'ai constaté que j'avais ajouté l'indicateur de compilateur "-Obj" sous Sous liaison> Autres indicateurs de l'éditeur de liens.

* en supprimant cet indicateur "-Obj" de "Linking> Other Linker Flags" pour les deux rel/deb, cette erreur a disparu.

je n'ai pas besoin d'ajouter AddSupport.framework pour se débarrasser de cette erreur. Cette modification peut être utile pour ceux qui ne souhaitent pas ajouter de structure supplémentaire pour éviter l'erreur de compilation.

1
mask