关于Xcode不能打印崩溃日志

3892次阅读  |  发布于5年以前

关于Xcode的控制台不打印Crash日志的问题。首先,我们需要设置uncaughtExceptionHandler,在AppDelegate.m添加如下代码:

void uncaughtExceptionHandler(NSException *exception) {
    NSLog(@"CRASH: %@", exception);
    NSLog(@"Stack Trace: %@", [exception callStackSymbols]);
    // Internal error reporting
}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{   
    NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);
    // Normal launch stuff
}

如果此时还不行,则检查一下是否有第三方库有自动上传crash的功能(特别是统计库),这种库可能会重写这个方法。

如果此时问题依旧,则检查一下Xcode的Schema配置,是否构选了Enable Zombie Objects。

总结起来,如果Xcode不输出Crash日志有一下几个可能:

memorymanagerinios.png

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8