ios - used - google tag manager android
Google Analytics no funciona en un nuevo proyecto de iOS (3)
He creado un nuevo proyecto de iOS y he agregado soporte de Google Analytics siguiendo las instrucciones oficiales.
He añadido a Frameworks:
libGoogleAnalyticsServices.a
AdSupport.framework
CoreData.framework
SystemConfiguration.framework
libz.dylib
Pero no funciona con los errores:
ld: warning: directory not found for option ''-L/Users/.../Sources/GoogleAnalytics''
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_NSManagedObjectModel", referenced from:
objc-class-ref in libGoogleAnalyticsServices.a(GAICoreDataUtil.o)
"_OBJC_CLASS_$_NSAttributeDescription", referenced from:
objc-class-ref in libGoogleAnalyticsServices.a(GAICoreDataUtil.o)
"_OBJC_CLASS_$_NSEntityDescription", referenced from:
objc-class-ref in libGoogleAnalyticsServices.a(GAIDataStore.o)
objc-class-ref in libGoogleAnalyticsServices.a(GAICoreDataUtil.o)
"_OBJC_CLASS_$_NSPersistentStoreCoordinator", referenced from:
objc-class-ref in libGoogleAnalyticsServices.a(GAIDataStore.o)
"_OBJC_CLASS_$_NSFetchRequest", referenced from:
objc-class-ref in libGoogleAnalyticsServices.a(GAIDataStore.o)
"_OBJC_CLASS_$_NSManagedObjectContext", referenced from:
objc-class-ref in libGoogleAnalyticsServices.a(GAIDataStore.o)
"_NSSQLiteErrorDomain", referenced from:
-[GAIDataStore performBlockAndWait:withError:] in libGoogleAnalyticsServices.a(GAIDataStore.o)
"_NSSQLiteStoreType", referenced from:
-[GAIDataStore coordinatorWithModel:URL:] in libGoogleAnalyticsServices.a(GAIDataStore.o)
"_NSOverwriteMergePolicy", referenced from:
-[GAIDataStore contextWithModel:URL:] in libGoogleAnalyticsServices.a(GAIDataStore.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
¿Cómo puedo arreglarlo? ¿Y soporta arm64 ?
¡Gracias por todo! Los siguientes pasos me ayudaron:
- Quitar
CoreData.framework
. - Agregue nuevamente
CoreData.framework
.
arm64 ahora es compatible. Gracias a Amar.
Ahora debería arreglar la última advertencia:
ld: warning: directory not found for option ''-L/Users/.../Sources/GoogleAnalytics''
Sucede porque trabajo con el proyecto en diferentes usuarios.
Debe agregar el archivo libsqlite3.0.dylib
a sus marcos.
Para hacer esto, debajo del objetivo de los proyectos, en la pestaña general, encontrará "Frameworks y bibliotecas vinculadas", simplemente seleccione el botón ''+'' y agregue el framework desde allí.
Desde la página del desarrollador de Google Analytics
El SDK de Google Analytics usa los marcos CoreData y SystemConfiguration, por lo que deberá agregar lo siguiente a las bibliotecas vinculadas de su aplicación:
- libGoogleAnalyticsServices.a
- AdSupport.framework
- CoreData.framework
- SystemConfiguration.framework
- libz.dylib
Parece que te estás perdiendo CoreData.framework
.
Ejecutando el comando lipo -info
en la biblioteca GA.
xcrun -sdk iphoneos lipo -info libGoogleAnalyticsServices.a
Da resultado,
Architectures in the fat file: libGoogleAnalyticsServices.a are: armv7 armv7s i386 x86_64 arm64
Así que soporta el brazo64.
¡Espero que ayude!