Мы используем как testflight.com sdk, так и flurry.com sdk для отслеживания необработанных исключений. Проблема заключается в том, что после добавления SDK testflight.com исключений не обнаружил Flurry.
Метод, запускаемый при возникновении необработанного исключения, выглядит следующим образом:
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
.
.
.
Я не уверен, как testflight.com делает это, но кажется, что они перехватывают исключение и регистрируют данные для себя, не позволяя зарегистрированному методу быть запущенным?
Есть ли способ, чтобы оба они сосуществовали?