我们在应用程序中使用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保存状态下的东西。
答案 0 :(得分:0)
实际上是因为我将一个整数作为用户ID发送到了flurry。但他们只支持字符串。所以请相应地更改您的参数。