Мы используем шквал (реклама и аналитика) в нашем приложении. С того момента, как приложение просто сработало после того, как оно было использовано на этом телефоне, мы снова запускаем его.Flurry Analytics вылетает после второго запуска
Полный журнал ошибок:
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;
}
Edit 1:
Я проверил, что переменная w что API-ключ действительно установлен и удален даже с фиксированным значением, и я все равно получаю ту же проблему. Комментируя, что линия Flurry исправляет сбой.
Edit 2:
Проблема появляется только после того, как я уже отслеживаются некоторые события с Flurry. Поэтому, если я убью приложение и перезапустил его, я получу это сообщение об ошибке. Если я удалю приложение и переустановить его позже, ошибка исчезнет. Так что это похоже на спасенное состояние Flurry.
Это из-за некоторой нулевой строки. Вы отлаживаете код? Код отладки дает точную причину – svrushal
Я отлаживал его, и Api-Code окончательно установлен на правильное значение. Как только я прокомментирую строку '[Flurry startSession: @" "];' все работает снова. У вас есть другие идеи? –
Sebastian
На самом деле это потому, что я передал целое число как идентификатор пользователя. Но для этого они поддерживают только строки. Поэтому, пожалуйста, измените свои параметры соответствующим образом. – Sebastian