在Google Analytics for IOS中,defaultTracker为nil

vat*_*ato 9 google-analytics ios swift

我正在尝试按照iOS Analytics for iOS指南在我的iOS应用中设置Google Analytics 我已经完成了所有步骤,但是当我运行我的应用时它会崩溃并说我的defaultTracker是零.这是我的ViewController中的以下代码:

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])

}
Run Code Online (Sandbox Code Playgroud)

在我的AppDelegate中,我有这个代码,应该初始化有关跟踪器的所有内容:

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
}
Run Code Online (Sandbox Code Playgroud)

有谁知道问题可能是什么以及如何解决?

在此先感谢Vatan

mer*_*ert 7

我有同样的问题,通过在AppDelegate applicationDidFinishLaunching下面的方法添加默认跟踪器初始化修复;

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")
    //...
 }
Run Code Online (Sandbox Code Playgroud)


Dee*_*pak 0

我认为您需要在定义变量后将变量设置defaultTracker为变量。gaiapplicationDidFinishLaunchinggai