Je crois que Google vient de publier aujourd'hui une nouvelle mise à jour de son cadre iOS Analytics (version 3.0). Lorsque je suis les instructions et essaie d'exécuter le code, j'obtiens:
Symboles non définis pour l'architecture armv7: "_inflate", référencé à partir de: l002 dans libGoogleAnalyticsServices.a (NSData + zlib.o) "_deflate", référencé à partir de: l001 dans libGoogleAnalyticsServices.a (NSData + zlib.o) "inflateInit2inflateInit2 ", référencé depuis: l002 dans libGoogleAnalyticsServices.a (NSData + zlib.o)" _deflateEnd ", référencé depuis: l001 dans libGoogleAnalyticsServices.a (NSData + zlib.o)" _OBJC_CLASS _ $ _ ASIdentifierManager ", référencé depuis: objc-class dans libGoogleAnalyticsServices.a (TAGAdvertiserId.o) objc-class-ref dans libGoogleAnalyticsServices.a (TAGAdvertisingTrackingEnabledMacro.o) objc-class-ref dans libGoogleAnalyticsServices.a (TAGMobileAdwordsUniqueIdMacro.o)
"_ inflateEnd", référencé à partir de: l002 dans libGoogleAnalyticsServices.a (NSData + zlib.o) "_SCNetworkReachabilityCreateWithName", référencé à partir de: l027 dans libGoogleAnalyticsServices.a (GAIReachabilityChecker.o) l002 dans libGoogleAntics ) "_SCNetworkReachabilitySetCallback", référencé à partir de: l027 dans libGoogleAnalyticsServices.a (GAIReachabilityChecker.o) l002 dans libGoogleAnalyticsServices.a (TAGNetReachability.o) l003 dans libGoogleAnalyticsServices.a (TAGNetReachability: ")" dans libGoogleAnalyticsServices.a (NSData + zlib.o) "_SCNetworkReachabilityScheduleWithRunLoop", référencé à partir de: l027 dans libGoogleAnalyticsServices.a (GAIReachabilityChecker.o) l002 dans libGoogleAnalyticsServices.a (TAGNetReachabilityNoServices_aL " (GAIReachabilityChecker.o) l003 dans libGoogleAnalyticsServices.a (TAGNetReachability.o) ld: symbole (s) introuvable (s) pour archi tecture armv7 clang: erreur: la commande de l'éditeur de liens a échoué avec le code de sortie 1 (utilisez -v pour voir l'invocation)
Possible qu'ils aient oublié d'inclure une bibliothèque que je dois ajouter? (certains autres aspects des instructions qu'ils ont également oublié de modifier). Sinon, ils ont suivi leurs instructions jusqu'à un tee-shirt et n'ont toujours pas obtenu les résultats nécessaires.
J'ai dû ajouter les deux libz.dylib
et AdSupport.framework
aux phases de construction pour que cela disparaisse. Google ne les inclut pas dans leurs instructions, alors vérifiez auprès d'eux pour vous assurer que tout va bien, puis mettez à jour ce message.
MISE À JOUR: Maintenant, vous devez également ajouter libsqlite3.0.dylib
pour le faire fonctionner.
J'ai téléchargé la version 3.06 des services Google Analytics pour iOS au début d'avril 2014 et j'ai toujours rencontré les problèmes mentionnés ci-dessus. Google a mis à jour ses documents pour mentionner la nécessité de lier libz.dylib et AdSupport.framework.
SOLUTION: J'ai trouvé par essais et erreurs, j'avais également besoin de lier le libsqlite3.dylib afin de construire sur le simulateur ou sur un appareil.
Ajouter
libz.dylib
AdSupport.framework
libsqlite3.0.dylib
Google n'a pas mis à jour son guide au 8 octobre 2013.
Le guide Google Analytics est ici
Aucune des solutions ci-dessus n'a fonctionné pour moi. Ce qui a fonctionné pour moi, cependant, a été d'ajouter ces éléments:
libz.dylib
libsqlite3.0.dylib
libGoogleAnalyticsServices.a
Le libGoogleAnalyticsServices.a est un fichier qui peut être trouvé dans le téléchargement de Google Analytics pour Mobile Apps iOS SDK v3.
J'espère que cela t'aides!
J'ai eu libz.dylib
et AdSupport.framework
selon les instructions de Google, cela a bien fonctionné.
Ensuite, j'ai dû ajouter -all_load
dans d'autres indicateurs de l'éditeur de liens pour une autre dépendance de bibliothèque, puis Google Analytics a commencé à échouer lors de la génération avec une erreur de l'éditeur de liens.
Je devais ajouter libsqlite3.0.dylib
framework pour le faire fonctionner.
Il y a donc quelque chose à voir avec -all_load
drapeau de l'éditeur de liens