// // main.m // Temperature // // Created by RD on 2022/10/21. // #import #import "AppDelegate.h" #import void handleException(NSException *exception) { NSArray *stackArray = [exception callStackSymbols]; NSMutableString *reason = [NSMutableString stringWithFormat: @"Crash: %@", [exception reason]]; NSMutableString *stackTrace = [NSMutableString string]; for (NSString *trace in stackArray) { [stackTrace appendFormat:@"%@\n", trace]; } // 这里可以将信息写入日志文件或发送到服务器 NSLog(@"%@\n%@", reason, stackTrace); [[NSUserDefaults standardUserDefaults] setObject:reason forKey:@"exceptionReason"]; [[NSUserDefaults standardUserDefaults] setObject:stackTrace forKey:@"exceptionStackTrace"]; } int main(int argc, char * argv[]) { NSString * appDelegateClassName; @autoreleasepool { // Setup code that might create autoreleased objects goes here. appDelegateClassName = NSStringFromClass([AppDelegate class]); } NSSetUncaughtExceptionHandler(&handleException); return UIApplicationMain(argc, argv, nil, appDelegateClassName); }