ios - 当值为 nil 更新到 3.10 时,iOS 上的 Google Analytics 崩溃

标签 ios objective-c xcode google-analytics crash

自从我将 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/

相关文章:

iphone - 如何基于现有类文件创建新类文件 - 在 Xcode 中

iphone - xcode 构建 svn 号插入不起作用

objective-c - 无法将文件保存到 iOS 8 上的应用程序组

objective-c - 触控栏 API 可用性

ios 我想从 AppDelegate 访问 MainViewController 中的对象

ios - 如何仅更改一个 View 的 navigationTitle 颜色?

objective-c - CGPDFScannerScan 不触发回调函数

ios - 从文档文件夹中读取视频文件

xcode - 无法为支持 VAST 模板的 Apple TV tvOS 找到任何视频播放器

ios - 将错误重复符号 _kCHPointerSize 与 CHDataStructure 静态库链接