首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >didReceiveRemoteNotification中的崩溃

didReceiveRemoteNotification中的崩溃
EN

Stack Overflow用户
提问于 2019-02-03 03:23:36
回答 1查看 327关注 0票数 0

在实时应用程序上发生崩溃。我无法获取崩溃日志。我可以在“组织者”->“崩溃”中看到下面的内容,点击它会把我带到下面提到的行。我如何调试或防止这种崩溃?

Crash in Organizer

代码语言:javascript
复制
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {

    // Crash happens here
    let tabBar:UITabBarController = self.window?.rootViewController as? UITabBarController 
}
EN

回答 1

Stack Overflow用户

发布于 2019-02-03 03:40:42

我不明白你为什么只检查rootViewControllerUITabBarController。但是我认为,崩溃的发生是因为你没有调用completionHandler。尝试在方法的末尾添加:

代码语言:javascript
复制
completionHandler(.noData) // or with other parameters of UIBackgroundFetchResult type.

来自苹果文档的

处理完通知后,您必须调用处理程序参数中的块,否则您的应用程序将被终止。您的应用程序有最多30秒的挂钟时间来处理通知并调用指定的完成处理程序块。实际上,您应该在处理完通知后立即调用处理程序块。系统会跟踪应用程序后台下载的耗时、耗电量和数据成本。在处理远程通知时使用大量电力的应用程序可能并不总是提早唤醒以处理未来的通知。

查看苹果documentation

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54496674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档