Easydict icon indicating copy to clipboard operation
Easydict copied to clipboard

dev: 优化 Easydict 启动代码,改进崩溃日志记录

Open tisfeng opened this issue 1 month ago • 2 comments

起因

看到一些用户反馈 https://github.com/tisfeng/Easydict/issues/547#issuecomment-2109165560 ,明明发生了程序崩溃,却获取不到有用的日志信息。

很奇怪,我打断点发现应用启动会先执行 SwiftUI 中的 @main 入口,然后才会执行 AppDelegate 中的代理方法(到这里才启动崩溃日志捕获),因此如果某些特殊情况下,应用启动后就在 SwiftUI 入口崩溃,可能获取不到崩溃日志。(存疑 🤔)

改进

优化 Easydict 启动代码,尽早开启崩溃日志捕获。

@main
enum EasydictCmpatibilityEntry {
    static func main() {
        parseArmguments()
        if Configuration.shared.enableBetaNewApp {
            EasydictApp.main()
        } else {
            _ = NSApplicationMain(CommandLine.argc, CommandLine.unsafeArgv)
        }
    }
}
image

tisfeng avatar May 14 '24 03:05 tisfeng