2015-07-10 10 views
5

Ho seguito questo Google developer guide per aggiungere Google Analytics ad un'app iOS utilizzando Cocoa Pods. Ho aggiunto GoogleService-Info.plist e inserito il codice di inizializzazione in didFinishLaunchingWithOptions. L'app si sviluppa bene, ma poi si blocca nel punto in cui tenta di inizializzare GA. In particolare queste righe di codice:Errore di configurazione di Google Analytics per l'app iOS con GoogleService-Info.plist

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

L'istruzione assert sta fallendo e l'uscita della console è:

*** 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.}' 

posso vedere questo è dovuto al file GoogleService-Info.plist e dopo alcune indagini ho scoperto che anche se elimino GoogleService-Info.plist ho ricevuto l'errore, il che mi porta a credere che non avessi aggiunto correttamente il file al progetto.

Ecco uno screenshot di quello che ho controllato quando si aggiunge il file:

enter image description here

Così ho fatto in modo che si aggiunge a tutti gli obiettivi e che il file si trova nella directory principale del progetto , accanto ai file xcodeproj e xcworkspace, come da istruzioni sulla guida per gli sviluppatori di Google.

Devo anche menzionare che si tratta di un progetto SpriteBuilder, ma non penso che abbia nulla a che fare con questo. Inoltre, questo è stato il primo Cocoa Pod che ho aggiunto, ma sembra tutto a posto con il progetto, che può creare e trovare tutti gli header di Google di cui ha bisogno.

+0

inizialmente dire che cosa è lo scopo di utilizzare ** GoogleService-Info.plist ** nella tua app non è necessario questo, se si utilizza in analisi solo non è necessario questo –

+0

Mi spiace, non capisco cosa sei detto. La libreria di Google Analytics si aspetta che questo file si inserisca nel progetto. Lo cerca quando '[[GGLContext sharedInstance] configureWithError: & configureError];' viene chiamato. La guida che ho seguito ha creato questo file da scaricare e mi ha istruito esplicitamente per aggiungerlo al progetto. È un file delle proprietà contenente il 'TRACKING_ID' per l'account GA. – Choc13

+0

prova questo [link] (http://www.raywenderlich.com/53459/google-analytics-ios) potrebbe esserti d'aiuto –

risposta

6

Sono stato anche bloccato con questo strano pezzo di codice. Ma non ne hai bisogno! Basta rimuovere configureWithError e tutte queste cose.

Tutto ciò che serve è:

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

Da qualche parte dentro didFinishLaunchingWithOptions. (È dalla precedente versione di GA, giusto?) Quindi, è tutto! Quindi, fare quello che vuoi nella vostra applicazione:

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

mio Podfile si presenta così:

source 'https://github.com/CocoaPods/Specs.git' 

pod 'Google/Analytics', '~> 1.0.0' 

Funziona!

0

Se si integra già google signIn, fornisce plist per accedere ai dettagli del servizio di accesso della propria app. Significa che quando si tenta di integrare l'analitica non è necessario aggiungere il nuovo GoogleService-Info.plist. Basta aggiungere i seguenti tasti che mancano nel file plist esistente.