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