我正在尝试在调用NSSetUncaughtExceptionHandler时在屏幕上绘制一些简单的内容,但没有任何反应。
还有其他方法可以捕获异常并快速在屏幕上绘制东西吗?

NSSetUncaughtExceptionHandler(&exceptionHandler);

void exceptionHandler(NSException *exception)
{
    UIBezierPath *path = [UIBezierPath bezierPath];
    [path moveToPoint:CGPointMake(10.0, 10.0)];
    [path moveToPoint:CGPointMake(10.0, 10.0)];
    [path addLineToPoint:CGPointMake(10.0, 450.0)];
    [path addLineToPoint:CGPointMake(310.0, 450.0)];
    [path addLineToPoint:CGPointMake(310.0, 10.0)];
    [path addLineToPoint:CGPointMake(10.0, 10.0)];

    CAShapeLayer *shapeLayer = [CAShapeLayer layer];
    shapeLayer.path = [path CGPath];
    shapeLayer.strokeColor = [[UIColor blueColor] CGColor];
    shapeLayer.lineWidth = 3.0;
    shapeLayer.fillColor = [[UIColor clearColor] CGColor];

    [APP_DELEGATE_WINDOW.rootViewController.view.layer addSublayer:shapeLayer];
    [APP_DELEGATE_WINDOW makeKeyAndVisible];
}

最佳答案

我不确定NSSetUncaughtExceptionHandler是在屏幕上绘制内容的好地方。

设置可以执行的顶级错误处理功能
程序终止前的最后一分钟记录。

大多数崩溃报告者都仔细记录了踪迹,并尽量不要“触摸”任何东西。

如果您真的想画点东西(什么?),则可能应该先捕获一个特定的异常。只是没有任何未捕获的异常。

关于ios - 按下NSSetUncaughtExceptionHandler时在CoreGraphics上在屏幕上绘制,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25125728/

10-12 14:24