当应用程序在前台完美运行时,一些测试人员会弹出应用程序崩溃的弹出窗口。我已经实现了 crashlytics,但那里没有崩溃日志。如果我要求测试人员提交反馈,appstoreconnect 只显示设备详细信息,没有崩溃日志文件。
不知何故,我设法从 iPhone 设置中的分析数据中收集了崩溃日志。这就是崩溃日志所说的:
Exception Type: EXC_CRASH (SIGKILL)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Reason: Namespace SPRINGBOARD, Code 0x8badf00d
Termination Description: SPRINGBOARD, scene-update watchdog transgression: application<com.product.officeChat>:533 exhausted real (wall clock) time allowance of 10.00 seconds | ProcessVisibility: Background | ProcessState: Running | WatchdogEvent: scene-update | WatchdogVisibility: Foreground | WatchdogCPUStatistics: ( | "Elapsed total CPU time (seconds): 15.730 (user 15.730, system 0.000), 57% CPU", | "Elapsed application CPU time (seconds): 9.107, 33% CPU" | )
Triggered by Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
我的应用程序是一个聊天应用程序,其中包括在后台发送消息的功能。我的猜测是下面的代码导致了这些崩溃
backgroundTask = UIApplication.shared.beginBackgroundTask(withName: "MessageSenderFor\(channelID)", expirationHandler: { [weak self] in
print("expiration block remainin time", UIApplication.shared.backgroundTimeRemaining)
self?.isSendingMessages = false
self?.endBackgroundTask()
})
如果有人遇到过这样的问题,请帮助我解决一些问题。几周来我一直试图解决这个问题,但没有任何解决方案。