Google Analytics for iOS SDK 2.0 - 如何处理app delegate中的"tracker"变量?

mar*_*n's 14 iphone google-analytics ios

按照此处的概述后:

https://developers.google.com/analytics/devguides/collection/ios/v2/

我在Unused variable "tracker"添加到代码的最后一行看到一个警告:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

以下是Google概述页面中的代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  // Optional: automatically track uncaught exceptions with Google Analytics.
  [GAI sharedInstance].trackUncaughtExceptions = YES;
  // Optional: set Google Analytics dispatch interval to e.g. 20 seconds.
  [GAI sharedInstance].dispatchInterval = 20;
  // Optional: set debug to YES for extra debugging information.
  [GAI sharedInstance].debug = YES;
  // Create tracker instance.
  id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"UA-YOUR-TRACKING-ID"];

}
Run Code Online (Sandbox Code Playgroud)

tracker真正认为在这一点上绝对没有用,概述文件并没有真正说明如何处理它.有什么建议?

ric*_*rbh 24

如果您不需要对跟踪器的引用(看起来您没有),则可以通过更改最后一行代码来删除警告

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"UA-YOUR-TRACKING-ID"];
Run Code Online (Sandbox Code Playgroud)

[[GAI sharedInstance] trackerWithTrackingId:@"UA-YOUR-TRACKING-ID"];
Run Code Online (Sandbox Code Playgroud)

如果您想在用户启动应用程序时创建事件而无需调用[GAI sharedInstance]以获取该引用,则可以使用用于在此代码块中保留对跟踪器的引用的用例.

  • 顺便说一句,我最后通过简单地在app委托代码的末尾添加`[tracker setSessionTimeout:60];`来解决原始警告.您的解决方案同样适用. (2认同)
  • 如果我可以+1评论它将是马丁的最后一个,你将会话超时设置为"使用"变量.有点kludgy但它修复了错误=) (2认同)

Sam*_*EDE 5

你可以添加

#pragma unused(tracker)
Run Code Online (Sandbox Code Playgroud)

之后

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"UA-YOUR-TRACKING-ID"];
Run Code Online (Sandbox Code Playgroud)