2015-07-30 5 views
9

Sto provando a configurare Google Analytics nella mia app iOS seguendo questa guida Google Analytics for iOS Ho completato tutti i passaggi ma quando eseguo la mia app si blocca e dice che il mio defaultTracker è nil. Questo è il seguente codice nel mio ViewController:defaultTracker è nullo in Google Analytics per IOS

override func viewWillAppear(animated: Bool) { 
    super.viewWillAppear(animated) 
    var tracker = GAI.sharedInstance().defaultTracker 
    tracker.set(kGAIScreenName, value: nil) 

    var builder = GAIDictionaryBuilder.createScreenView() 
    tracker.send(builder.build() as [NSObject : AnyObject]) 

} 

Nel mio AppDelegate Ho questo codice che dovrebbe inizializzare tutto ciò che riguarda il tracker:

func applicationDidFinishLaunching(application: UIApplication) { 
    // Configure tracker from GoogleService-Info.plist. 
    var configureError:NSError? 
    GGLContext.sharedInstance().configureWithError(&configureError) 
    assert(configureError == nil, "Error configuring Google services: \(configureError)") 

    // Optional: configure GAI options. 
    var gai = GAI.sharedInstance() 
    gai.trackUncaughtExceptions = true // report uncaught exceptions 
    gai.logger.logLevel = GAILogLevel.Verbose // remove before app release 
} 

Qualcuno sa che il problema potrebbe essere e come risolvere vero?

Grazie in anticipo Vatan

risposta

0

Credo che hai bisogno di impostare la variabile defaultTracker-gai in applicationDidFinishLaunching dopo aver definito la variabile gai.

+0

Come si imposta? Non riesco a trovare alcun metodo adatto e non mi sembra giusto impostarlo definendo il numero di tracciamento poiché è già definito nel file GoogleService-Info.plist –

+0

Hai visto il mio commento precedente @Deepak –

+0

Puoi ricontrollare che il tuo file GoogleService-Info.plist viene aggiunto al tuo target, ovvero seleziona GoogleService-Info.plist e Sotto File Inspector controlla il segno di spunta per il tuo target nella sezione Target Membership. – Deepak

7

Ho avuto lo stesso problema, risolto aggiungendo l'inizializzazione del tracker predefinito al metodo AppDelegateapplicationDidFinishLaunching come di seguito;

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 
    //... 

    var gai = GAI.sharedInstance() 
    gai.trackUncaughtExceptions = true // report uncaught exceptions 
    gai.defaultTracker = gai.trackerWithTrackingId("UA-XXXXX-X") 
    //... 
}