从 iOS 14 开始,Apple 将更严格地限制崩溃报告中的敏感信息,包括堆栈跟踪信息。为了获取堆栈跟踪信息,您可以使用以下代码示例:
在您的应用程序的 AppDelegate 文件中,添加以下代码:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
NSSetUncaughtExceptionHandler { exception in
let stackTrace = exception.callStackSymbols.joined(separator: "\n")
// 将堆栈跟踪信息发送到您的日志记录服务器或其他地方
print("崩溃堆栈跟踪信息:\n\(stackTrace)")
// 可以选择重新抛出异常,以便在崩溃后继续崩溃报告的生成
// exception.raise()
}
return true
}
这将设置一个未捕获的异常处理程序,以便在应用程序崩溃时获取堆栈跟踪信息。您可以将堆栈跟踪信息发送到您的日志记录服务器或其他地方进行进一步分析。
请注意,这种方法只能获取应用程序崩溃时的堆栈跟踪信息,并且仅在您的应用程序未能捕获异常时才适用。在发布版本中,应始终捕获可能导致应用程序崩溃的异常,并进行适当的处理,以便提供更好的用户体验。