发生崩溃时,TestFlight TFLog无法上传

时间:2013-03-27 23:44:06

标签: iphone ios crash testflight

当TestFlight崩溃时,我有一个我希望上传其崩溃报告的日志。

按照他们网站上的说明,我想出了这个解决方案,但它似乎没有发送我传递给TFLog的日志。然而它报告崩溃就好了。

-(void)applicationDidFinishLaunching:(UIApplication *)application {

    /*Setup crash handlers for TestFlight so we can send logs. */
    NSSetUncaughtExceptionHandler(&testFlightHandleExceptions);
    // create the signal action structure
    struct sigaction newSignalAction;
    // initialize the signal action structure
    memset(&newSignalAction, 0, sizeof(newSignalAction));
    // set SignalHandler as the handler in the signal action structure
    newSignalAction.sa_handler = &testFlightSignalHandler;
    // set SignalHandler as the handlers for SIGABRT, SIGILL and SIGBUS
    sigaction(SIGABRT, &newSignalAction, NULL);
    sigaction(SIGILL, &newSignalAction, NULL);
    sigaction(SIGBUS, &newSignalAction, NULL);
    [TestFlight takeOff:TESTFLIGHT_API_KEY];
}

void testFlightHandleExceptions(NSException *exception) {
    [LogManager e: @"Sending crash to TestFlight" Tag:@"AppDelegate"];
    TFLog(@"%@",[LogManager getLog]);
}

我哪里出错了?或者有更好的方法吗?

1 个答案:

答案 0 :(得分:3)

我可以看到两个问题:

  1. testFlightHandleExceptions将在崩溃之后被称为,并记录它的日志。相反,每次登录时(崩溃前)都需要在TFLog内调用LogManager。这就是它的用法。

  2. 在信号处理程序中使用objc 确定。就此而言,大多数c甚至都不被允许。

  3. 希望有所帮助:)

    杰森