Error al configurar Google analytics para la aplicación iOS con GoogleService-Info.plist

Seguí esta guía de desarrolladores de Google para agregar Google Analytics a una aplicación de iOS que use Cocoa Pods. GoogleService-Info.plist y puse el código de initialization en didFinishLaunchingWithOptions . La aplicación crea bien, pero luego se bloquea en el punto en que intenta inicializar GA. Específicamente estas líneas de código:

 NSError *configureError; [[GGLContext shanetworkingInstance] configureWithError:&configureError]; NSAssert(!configureError, @"Error configuring Google services: %@", configureError); 

La afirmación assert está fallando y el resultado en la console es:

 *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Error configuring Google services: Error Domain=com.google.greenhouse Code=-200 "Unable to configure GGL." {NSLocalizedFailureReason=Unable to parse supplied GoogleService-Info.plist. See log for details., NSLocalizedRecoverySuggestion=Check formatting and location of GoogleService-Info.plist., NSLocalizedDescription=Unable to configure GGL.}' 

Puedo ver que esto se debe al file GoogleService-Info.plist y, después de una investigación, descubrí que, incluso si borro GoogleService-Info.plist , obtengo el error, lo que me lleva a creer que no había agregado el file al proyecto correctamente.

Aquí hay una captura de pantalla de lo que he comprobado al agregar el file:

introduzca la descripción de la imagen aquí

Así que me he asegurado de que se agregue a todos los objectives y de que el file esté en el directory raíz del proyecto, junto con los files xcodeproj y xcworkspace , según las instrucciones de la guía de desarrollador de Google.

También debería mencionar que este es un proyecto de SpriteBuilder, pero no creo que tenga nada que ver con esto. También este fue el primer Cocoa Pod que agregué, pero todo parece estar bien cuando el proyecto se construye y puede encontrar todos los encabezados de Google que necesita.

También estuve atrapado con esta extraña pieza de código. ¡Pero no lo necesitas! Simplemente elimine configureWithError y todas estas cosas.

Todo lo que necesitas es:

 [[GAI shanetworkingInstance] trackerWithTrackingId:@"UA-11111111-2"]; [GAI shanetworkingInstance].trackUncaughtExceptions = YES; 

En algún lugar dentro de FinishLaunchingWithOptions. (Es de la versión GA anterior, ¿verdad?) ¡Entonces, eso es todo! Luego, haz lo que quieras en tu aplicación:

 id<GAITracker> tracker = [[GAI shanetworkingInstance] defaultTracker]; [tracker set:kGAIScreenName value:@"start screen"]; [tracker send:[[GAIDictionaryBuilder createScreenView] build]]; 

Mi Podfile se ve así:

 source 'https://github.com/CocoaPods/Specs.git' pod 'Google/Analytics', '~> 1.0.0' 

¡Funciona!

Si ya integra el signo de Google, proporciona plist para acceder al detalle del service de inicio de session de su aplicación. Significa que cuando intenta integrar la analítica no necesita agregar el nuevo GoogleService-Info.plist. Simplemente agregue las siguientes keys que faltan en el file Plist existente.