web-dev-qa-db-fra.com

Bibliothèque Google Analytics IOS

Quand j'ajoute la bibliothèque Google Analytics, j'ai cet avertissement

Undefined symbols for architecture armv7:
  "_OBJC_CLASS_$_NSAttributeDescription", referenced from:
      objc-class-ref in libGoogleAnalytics.a(GAICoreDataUtil.o)
      objc-class-ref in libGoogleAnalytics_debug.a(GAICoreDataUtil.o)
  "_OBJC_CLASS_$_NSFetchRequest", referenced from:
      objc-class-ref in libGoogleAnalytics.a(GAIDataStore.o)
      objc-class-ref in libGoogleAnalytics_debug.a(GAIDataStore.o)
  "_NSSQLiteErrorDomain", referenced from:
      l003 in libGoogleAnalytics.a(GAIDataStore.o)

Aidez-moi, s'il vous plaît

18
user1781040

Ajoutez libGoogleAnalytics.a à votre paramètre cible [Build phases]-[Link Binary with Libraries]. Vérifiez également si libsqlite3.0dylib (où GA stocke les données de suivi) et CFNetwork.framework sont ajoutés car ils sont requis pour Google Analytics/iOS (version 2.0 beta 3).

P.S. Pour Google Analytics/iOS version 3.0, CoreData framework est requis à la place.

41
jki

J'ai eu le même problème sur NSAttributeDescription. Dans la documentation, cette fonction provient de CoreData.framework. J'ai donc ajouté ce cadre et aucune autre erreur à ce sujet.

13
plop91

Problème lié à Migration de Google Analytics SDK pour iOS v2 .

Je ne sais pas à quel sujet écrire car il n’ya pas de problème exact - je me suis heurté et résolu par moi-même - retrouvé (celui-ci semble être le plus proche (je ne sais pas si je devrais ouvrir un nouveau)), mais pourrait être utile pour quelqu'un.

Problème:

J'ai mon précédent SDK (1.5.1) installé dans "SDKs/GoogleAnalytics SDK" dossier distinct. Lors de la migration v2, j'ai placé les nouveaux fichiers dans "SDKs/GoogleAnalytics SDK v2" . Après avoir suivi toutes les instructions relatives à la migration (à partir du site Google) (et, en détail, il s'agissait simplement de supprimer les références précédentes aux fichiers du premier dossier et d'ajouter les nouvelles à partir du nouveau), j'ai commencé à obtenir l'erreur suivante. message sur la compilation:

Symboles non définis pour l'architecture armv7 : "_OBJC_CLASS _ $ _ GAI", Référencé depuis: Objc-class-ref dans AppDelegate.o ld: symbole (s) non trouvé (s) pour l'architecture armv7 clang : erreur: la commande de l'éditeur de liens a échoué avec le code de sortie 1 (utilisez -v pour voir l'invocation)

J'ai parcouru les premières pages de googler (et de stackoverflowing) et la solution la plus populaire suggérée était de "définir" Construire une architecture active uniquement "propriété de"OUI"" (mes architectures actives sont "armv7 armv7s "). Mais que DID NOT HELP du tout.

Solution:

Cependant, un miracle s'est produit. J'ai remarqué qu'il existe un ancien répertoire "SDKs/GoogleAnalytics SDK" était répertorié dans les chemins de l'éditeur de liens. Ainsi, après la suppression de ce répertoire (comme je ne sais pas où la liste des répertoires existe dans les paramètres), tout a commencé à se compiler et fonctionne comme un charme (en définissant également "Construire une architecture active" sur "OUI", c'était pas nécessaire pour moi).

9
Agat

Ajouter -lGoogleAnalyticsServices dans les paramètres de construction -> Autres drapeaux de l'éditeur de liens

7
Naka

J'ai eu des erreurs similaires à celles ci-dessus, en fait plus (SDK 2.0 beta 4). Après avoir ajouté la bibliothèque/les en-têtes Analytics, la liaison avec ces deux frameworks a résolu les problèmes suivants:

CoreData.framework et SystemConfiguration.framework

6
stevel

J'ai suivi ceci tutoriel. Il dit d'ajouter

#import "GAI.h"
#import "GAIFields.h"

dans le fichier NameofTheProject-Prefix.pch.

Et en plus de CoreData.framework et SystemConfiguration.framework, ajoutez libz.dylib Cela a résolu tous les problèmes.

4
imba_man

J'avais ce problème parce que je n'ai pas ajouté le fichier libGoogleAnalytics_debug.a . Le problème vient d'être résolu car j'ai ajouté ce fichier et construit à nouveau le projet. 

3
Jamal Zafar

J'ai suivi toutes les suggestions et j'avais toujours une erreur sur XCODE 5.1.1.

Pour moi, l'erreur était dans target> Build Setting> Architecture> Architectures. 

J'ai remplacé la valeur par ARCHS_STANDARD_32_BIT et l'erreur a disparu. 

Peut-être que la libGoogleAnalytics lib n’a pas été compilée pour une architecture à 64 BIT. 

J'espère que cela aidera quelqu'un. Ou obtenez la dernière lib qui est compilée pour 64 bits.

0
mask

J'ai eu un ODD problème étrange. Pour une raison quelconque, libGoogleAnalytics.a était dans Copier les ressources du paquet quand il était supposé être dans Lien binaire avec bibliothèques

Espérons que cela aide quelqu'un.

0
Jacksonkr

Avait un problème similaire après la migration vers SDK 2.0 beta 4. Résolu en supprimant l'ancien chemin de bibliothèque GA de Mes paramètres de construction> Chemins de recherche de bibliothèque comme indiqué par Adri.

0
mnazwan

Si vous utilisez Cocoapods assurez-vous que Autres drapeaux de l’éditeur de liens n’a que le drapeau $(inherited) et supprimez les enfants architecture drapeaux.

Pour les chemins de recherche dans le cadre et Les chemins de recherche dans la bibliothèque définissez également le drapeau $(inherited).

Dans le fichier de pontage d'en-tête, mettez le #import <Google/Analytics.h>

0
Prcela