Bibliothèque Google Analytics IOS

Quand j'ajoute la bibliothèque google analytics, j'ai cet avertissement

Undefined symbols for architecture armv7: "_OBJC_CLASS_$_NSAtsortingbuteDescription", 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

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

PS Pour Google Analytics/iOS version 3.0 CoreData framework est requirejs à la place.

J'ai eu le même problème sur NSAtsortingbuteDescription . Dans la documentation, cette fonction vient de CoreData.framework , j'ai donc ajouté ce framework et plus d'erreurs sur ce problème.

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

Je ne suis pas sûr de quel sujet l'écrire car il n'y a pas de problème exact – je suis tombé et résolu par le mien – trouvé (celui-ci semble être le plus proche (pas sûr si je devrais en ouvrir un nouveau) ), mais pourrait être utile pour quelqu'un.

Problème:

J'ai mon précédent (1.5.1) SDK installé dans le dossier séparé "SDKs / GoogleAnalytics SDK" . Lors de la migration v2, j'ai placé les nouveaux files dans "SDKs / GoogleAnalytics SDK v2" . Après avoir suivi toutes les instructions sur la migration (du site Google) (et, en détails, cela supprimait simplement les references précédentes aux files du premier dossier et en ajoutant les nouveaux du nouveau), j'ai commencé à get l'erreur suivante message sur la compilation:

Symboles indéfinis pour l'architecture armv7 : "_OBJC_CLASS _ $ _ GAI", référencé par: objc-class-ref dans AppDelegate.o ld: symbole (s) non trouvé pour l'architecture armv7 clang: erreur: la command linker a échoué avec le code de sortie 1 (use -v pour voir l'invocation)

Je suis allé à travers les premières pages de googling (et stackoverflowing) et la solution la plus populaire suggérée était de "définir la propriété ' Build active architecture only ' sur ' YES '" (mes architectures actives sont "armv7 armv7s"). Mais cela n'a pas aidé du tout.

Solution:

Cependant, un miracle est arrivé. J'ai remarqué qu'il existe un ancien directory "SDKs / GoogleAnalytics SDK" a été répertorié dans les paths de l'éditeur de liens. Donc, après la suppression de ce directory (comme je ne sais pas où la list des directorys existe dans les parameters), tout a commencé à se comstackr et à fonctionner comme un charme (le réglage de 'Construire l'architecture active' sur 'OUI' n'était pas nécessaire pour moi ).

Ajouter -lGoogleAnalyticsServices dans Paramètres de construction -> Autres indicateurs de lien

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

CoreData.framework et SystemConfiguration.framework

J'ai suivi ce tutoriel. Il dit d'append

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

dans le file NameofTheProject-Prefix.pch .

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

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

J'ai eu un problème impair. Pour une raison quelconque, libGoogleAnalytics.a était dans les ressources de l'set de copys alors qu'il était supposé être dans un lien binary avec des bibliothèques

J'espère que cela aide quelqu'un.

Problème similaire après la migration vers la version bêta SDK 2.0 4. Résolu en supprimant l'ancien path de la bibliothèque GA de Mes parameters de construction> Chemins de search de la bibliothèque, comme indiqué par Adri.

Si vous utilisez Cocoapods, assurez-vous que les autres indicateurs d'éditeur ne possèdent que l' indicateur $(inherited) et supprimez les indicateurs d' architecture enfant.

Pour les paths de search de structure et les paths de search de bibliothèque, définissez également l'indicateur $(inherited) .

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

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

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

J'ai remplacé la valeur par ARCHS_STANDARD_32_BIT et l'erreur était partie.

Peut-être que la libGoogleAnalytics n'a pas été compilée pour l'architecture 64 BIT.

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