We use both testflight.com sdk and flurry.com sdk to track unhandled exceptions. The problem is that no exceptions are caught in the flurry after we added testflight.com sdk.
The method initiated when an unhandled exception occurs is as follows:
void uncaughtExceptionHandler(NSException *exception) { [FlurryAnalytics logError:@"ERROR_NAME" message:@"ERROR_MESSAGE" exception:exception]; } - (BOOL) application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { #if !TARGET_IPHONE_SIMULATOR NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler); struct sigaction newSignalAction; memset(&newSignalAction, 0, sizeof(newSignalAction)); newSignalAction.sa_handler = &signalHandler; sigaction(SIGABRT, &newSignalAction, NULL); sigaction(SIGILL, &newSignalAction, NULL); sigaction(SIGBUS, &newSignalAction, NULL); [FlurryAnalytics startSession:kFlurryKey]; [TestFlight takeOff:kTestflightKey]; [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)]; [UIApplication sharedApplication].applicationIconBadgeNumber = 0; #endif . . .
I'm not sure how testflight.com does it, but it looks like they catch an exception and log data for themselves, preventing the registered method from working?
Is there any way for both of them to coexist?
Øystein
source share