【发布时间】:2014-08-20 15:15:20
【问题描述】:
在 Objective-C 中,每当应用程序崩溃时,我可以通过在 AppDelegate 中使用此代码来获取堆栈跟踪以查看导致错误的最后一个方法在哪里
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSSetUncaughtExceptionHandler(&myExceptionHandler);
return YES;
}
void myExceptionHandler(NSException *exception)
{
NSArray *stack = [exception callStackSymbols];
NSLog(@"Stack trace: %@", stack);
NSLog(@"MyExceptionHandler");
}
它会将堆栈跟踪日志打印到控制台,我可以使用它来调试问题的原因,而不是在没有任何信息的情况下结束 main.m
那么我该如何在 Swift 中做到这一点呢?
【问题讨论】:
-
注意:您的代码仅显示异常的堆栈跟踪,而不显示其他基于信号的崩溃。
-
这些
objectiveC异常处理程序不能在swift中使用?