微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

应用因热重启而出现“看门狗”错误而终止

如何解决应用因热重启而出现“看门狗”错误而终止

不久前,我错误删除用户配置文件中的大多数“本地”文件夹,从而导致在那里安装的程序或那里有一些资产的众多问题。以同样的方式,我的热重启配置被搞砸了,出现了一个错误,指出钥匙串与其他地方设置的不匹配。因此,我重置了所有配置,现在可以构建,但是尝试在iPad上进行测试时,它将尝试加载一段时间,然后以非常适时的方式崩溃。

由于我明确终止了该应用程序(我在任何时候都没有碰到它),因此调试输出仅表明“应用程序已终止”或类似热重启关闭之类的事情。

我查看了设备日志,并在最后弹出:

Provision violated for watchdog scene-create: <FBSProcessResourceProvision: 0x280cfb600; allowance: <; FBSProcessResourceAllowance; type: realTime; timeValue: 16.60s>; violated: YES>
Executing termination for reason (none) with request: <FBSProcessterminationRequest: 0x283853500; label: "watchdog provision violated"; exceptionCode: "Watchdog Violation (0x8BADF00D)"; reportType: CrashLog; explanation: "scene-create watchdog transgression: com.companyname.TraceIt exhausted real (wall clock) time allowance of 16.60 seconds">

我做了自己的计数,看来该应用尝试加载20秒钟以上,当然,由于违反时间限制,“看门狗”然后终止。 但这在我删除大部分本地文件夹之前并没有发生,通常不到10秒。

这可能与配置问题有关吗?我知道,当它在调试输出显示证书时,团队配置文件代码错误的,但是它似乎试图加载。

解决方法

我在App类中创建了一个静态DataRepository对象,但是在其构造函数中为Task.Run([method]).Wait();,因此App类从未到达该类的实际构造函数。显然,这是一个无限的等待,因此直到完成为止没有任何进展。我删除了.Wait,现在可以使用了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。