ios - 由于看门狗,我的应用程序从后台返回时崩溃

标签 ios xcode crash watchdog springboard

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<cbundlename>:354 exhausted real (wall clock) time allowance of 10.00 seconds | ProcessVisibility: Foreground | ProcessState: Running | WatchdogEvent: scene-update | WatchdogVisibility: Background | WatchdogCPUStatistics: ( | "Elapsed total CPU time (seconds): 9.630 (user 9.630, system 0.000), 6% CPU", | "Elapsed application CPU time (seconds): 1.088, 1% CPU" | ) Triggered by Thread: 0


这有时会发生在 CLIENT 上,我几乎无法重现,而且我没有遇到任何崩溃
既不在 Xcode 管理器中,也不在 Crashlytics 中
我可以从设备->设置->隐私->分析中获取日志
我非常努力地消除所有内存泄漏并清理主线程,因为我可以将任务移动到 DispatchQueue.background另外,我已经清理了 AppDelegate 中的逻辑职能
它仍然发生。
请指教!

最佳答案

代码 0x8badf00d 是当应用程序启动或终止时间过长时看门狗引发的错误代码。
通常,这意味着您要么在某处有一个无限循环,要么您正在等待主线程上的网络 IO。用户也有可能强制退出应用程序。
您可以引用https://developer.apple.com/library/archive/qa/qa1693/_index.html
Apple 的引用文档以获取更多详细信息以及在您的项目中处理此场景的可能方法。

关于ios - 由于看门狗,我的应用程序从后台返回时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63033117/

相关文章:

objective-c - RestKit:JSON 映射不起作用

java - 有人可以帮助我如何使用 bridgeKit( objective-c 到 Java 代码)..?

ios - App Store 打开的 Xcode 版本比安装的版本旧

c++ - 全局鼠标 Hook 导致应用程序崩溃(c++/windows 7)

macros - ImageJ 宏 - selectImage(id) 导致 ImageJ 崩溃

ios - 使用 Kingfisher 的 Swift iOS 照片采集会导致内存增长

ios - 包含基于 xcode 方案的 header

Java多线程声音崩溃

ios - 控制导航栏下的定位问题

xcode - 在 SWIFT 中绘制圆弧进度