自从我将 Google Analytics iOS SDK 更新到 3.10 后,每次我尝试发送事件时我的应用程序都会崩溃 在此更新之前一切正常。
我得到“无法识别的选择器发送到... NSNull isEqualToString:” 我发现解决问题的唯一方法是在值字段中发送 @(0) 而不是 nil,这很奇怪。
有人试验过这个问题吗?
这是崩溃的代码
id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
[tracker send:[[GAIDictionaryBuilder createEventWithCategory:kGAICategoryName
action:@"Action name"
label:@""
value:nil] build]];
提前致谢
最佳答案
当我们将值作为 nil 发送时,它不会崩溃。 需要检查字符串值必须“不为零”
id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
[tracker send:[[GAIDictionaryBuilder createEventWithCategory:kGAICategoryName
action:@"Action name"
label:@""
value:nil] build]];
为字符串添加三元运算符,使您免受 nil 值的影响,请参见上面 block 中的以下更改
id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
[tracker send:[[GAIDictionaryBuilder createEventWithCategory:(kGAICategoryName)?kGAICategoryName:@""
action:(kGAIActionName)?kGAIActionName:@""
label:(kGAILabelName)?kGAILabelName:@""
value:nil] build]];
关于ios - 当值为 nil 更新到 3.10 时,iOS 上的 Google Analytics 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27493570/