2016-06-09 1 views
0

J'ai eu un peu un accident inhabituel en essayant de configurer Google Analytics dans mon application. L'erreur elle-même n'est pas inconnue (la plupart des développeurs iOS seraient familiers avec elle), mais le voir sortir de l'initialisation d'un framework tiers largement utilisé est.Crash d'initialisation de Google Analytics sur iOS

2016-06-09 11:15:19.549 <ProjName>[2937:204522] -[__NSCFNumber hasPrefix:]: unrecognized selector sent to instance 0xb000000000000003 

Cet accident semble provenir d'une tentative d'initialiser l'objet GAI, à la fois l'accès à l'instance d'objet partagé:

let gai = GAI.sharedInstance() 

ou même initialisant manuellement un (ce qui est quelque chose que je normalement pas fait, mais je suis à court d'idées)

let gai = GAI() 

Toute tentative d'utiliser le fichier de configuration fourni par le guide d'installation de GA et initialisant à travers l'objet GGLContext crée également un crash identique lors de l'appel de configureWithError (vraisemblablement, cela initialise également l'objet GAI de la même manière).

var configureError: NSError? 
GGLContext.sharedInstance().configureWithError(&configureError) 
assert(configureError == nil, "Error configuring Google services: \(configureError)") 

J'ai essayé cette fois avec la version cocoapods-installée de GA, et installation manuelle des deux 3.15 et 3.13 versions du SDK. Le projet est écrit dans Swift sous Xcode 7.3, avec une cible de déploiement d'iOS 8.0.

Est-ce que quelqu'un d'autre a rencontré un problème identique, ou est-ce que quelqu'un a des idées pour expliquer pourquoi cela affecte spécifiquement ce projet, ou quoi d'autre pourrais-je essayer?

Répondre

0

J'ai essayé et je ne vois aucune erreur. Avez-vous ajouté le module import?

J'ai suivi ces étapeshttps://developers.google.com/analytics/devguides/collection/ios/v3/#initialize-analytics-for-your-app

s'il vous plaît assurez-vous que vous suivez cet ordre:

// 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. 
let gai = GAI.sharedInstance() 
gai.trackUncaughtExceptions = true // report uncaught exceptions 
gai.logger.logLevel = GAILogLevel.Verbose // remove before app release 
+0

Oui, la ligne d'importation est inclus dans l'en-tête de pont (le projet ne compilera pas si c'est absent). Le mieux que je puisse dire, ce problème est en quelque sorte unique à ce projet - personne d'autre ne semble l'avoir. – Xono

+0

utilisez-vous objc et pods rapides? @Xono – Gabox

+0

Un mélange. Google Analytics est Objective-C, Alamofire est Swift, et j'ai aussi GoogleMaps là (je ne sais pas quelle langue est nativement). – Xono