Issue with Google Analytics in Swift 2 or 3

BilalReffas picture BilalReffas · Apr 9, 2015 · Viewed 9.1k times · Source

I have a problem with Swift 2 (Swift 3) and Google Analytics.

This is the line with the problem:

tracker.send(GAIDictionaryBuilder.createScreenView().build())

Xcode tell's me:

Cannot invoke 'send' with an argument list of type '(NSMutableDictionary!)'

Answer

Shali Liu picture Shali Liu · Apr 9, 2015

Update for Swift 3 (2016.10.19)

let tracker = GAI.sharedInstance().defaultTracker
let build = (GAIDictionaryBuilder.createScreenView().build() as NSDictionary) as! [AnyHashable: Any]
tracker?.send(build)

Still an ugly approach, let me know if there's an cleaner conversion.


Original

Same here, struggling to resolve tons of errors.

What I did (deprecated):

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

Edit (2015)

Thanks to @George Poulos. . Recently they updated the options, now createAppView is deprecated, should use createScreenView instead.

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