Flurry Analytics在第二次启动后崩溃了应用程序

时间:2014-04-29 11:03:13

标签: objective-c flurry

我们在应用程序中使用flurry(广告和分析)。一段时间后,应用程序在手机上使用后很简单就崩溃了,我们再次启动它。

完整的错误日志:

Flurry: Starting session on Agent Version [Flurry_iOS_123_4.3.2] 
2014-04-29 12:48:24.875 <ProjectName> 2.0[62373:1303] -[NSNull length]: unrecognized selector sent to instance 0x5a8068
2014-04-29 12:48:24.879 <ProjectName> 2.0[62373:1303] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSNull length]: unrecognized selector sent to instance 0x5a8068'
*** First throw call stack:
(
    0   CoreFoundation                      0x0045c1e4 __exceptionPreprocess + 180
    1   libobjc.A.dylib                     0x02e748e5 objc_exception_throw + 44
    2   CoreFoundation                      0x004f9243 -[NSObject(NSObject) doesNotRecognizeSelector:] + 275
    3   CoreFoundation                      0x0044c50b ___forwarding___ + 1019
    4   CoreFoundation                      0x0044c0ee _CF_forwarding_prep_0 + 14
    5   <ProjectName> 2.0                          0x00128722 +[FlurryProtocolData limitStringLength:] + 35
    6   <ProjectName> 2.0                          0x001289ae +[FlurryProtocolData appendString:toData:] + 46
    7   <ProjectName> 2.0                          0x0012d1f2 -[FlurrySession data] + 1398
    8   <ProjectName> 2.0                          0x0012c3a7 +[FlurrySession addToSavedSessions:] + 148
    9   <ProjectName> 2.0                          0x00128e65 +[FlurrySession sessionWithApiKey:startTime:] + 472
    10  <ProjectName> 2.0                          0x00139fc4 __29-[FlurryImpl setupForApiKey:]_block_invoke + 291
    11  libdispatch.dylib                   0x03a1d7b8 _dispatch_call_block_and_release + 15
    12  libdispatch.dylib                   0x03a324d0 _dispatch_client_callout + 14
    13  libdispatch.dylib                   0x03a20047 _dispatch_queue_drain + 452
    14  libdispatch.dylib                   0x03a1fe42 _dispatch_queue_invoke + 128
    15  libdispatch.dylib                   0x03a20de2 _dispatch_root_queue_drain + 78
    16  libdispatch.dylib                   0x03a21127 _dispatch_worker_thread2 + 39
    17  libsystem_pthread.dylib             0x03d61dab _pthread_wqthread + 336
    18  libsystem_pthread.dylib             0x03d65cce start_wqthread + 30
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb) 

(用户名,项目名称和其他与隐私相关的部分已被替换)

我的代码:

- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
    ...
    [Flurry startSession:@"<API-CODE>"];
    ...


    return YES;
}

修改1:

我检查了带有API-Key的变量是否真的设置并删除它,即使使用固定值,我仍然遇到同样的问题。评论Flurry系列可以解决崩溃问题。

编辑2:

问题只有在我用Flurry跟踪了一些事件后才会出现。因此,如果我杀死应用程序然后重新启动它,我会收到此错误消息。如果我卸载应用程序并在以后重新安装它,错误就消失了。所以它似乎是在Flurry保存状态下的东西。

1 个答案:

答案 0 :(得分:0)

实际上是因为我将一个整数作为用户ID发送到了flurry。但他们只支持字符串。所以请相应地更改您的参数。