iOS 9 应用程序冻结与控制台日志“BKSendHIDEvent”
Posted
技术标签:
【中文标题】iOS 9 应用程序冻结与控制台日志“BKSendHIDEvent”【英文标题】:iOS 9 App freeze with console log "BKSendHIDEvent" 【发布时间】:2015-12-03 10:13:03 【问题描述】:应用程序启动很长时间后, 触摸屏幕时控制台中有一些日志:
BKSendHIDEvent: IOHIDEventSystemConnectionDispatchEvent error:0xE00002E8 -- Unknown event dropped
所有按钮都没有响应,整个应用程序冻结。 目前,这个问题只发生在 iPhone 5s 上。
类似问题:https://forums.xamarin.com/discussion/55646/alot-of-annotation-on-mkmapview
有人有同样的问题吗?
更新:我发现app被ios杀死时线程超过500个,因为我使用第三方类Reachability的次数太多了。为了解决这个问题,我声明了一个静态变量,冻结似乎不会再次发生。
static Reachability *staticReachability;
+(NetworkStatus)detectNetwork
if (staticReachability == nil)
staticReachability = [Reachability reachabilityForInternetConnection];
[staticReachability startNotifier];
NetworkStatus status = [staticReachability currentReachabilityStatus];
return status;
【问题讨论】:
【参考方案1】:我也有同样的问题。
在我的情况下,它是在 iPad (OS 9.1) 中关闭 wifi 后发生的。应用程序无响应。在控制台中我可以看到相同的错误。
打开wifi后,应用程序再次响应,我可以继续。
【讨论】:
【参考方案2】:我已经解决了...
在我使用 swift 的情况下,使用 Xcode 7.2。
我使用了自定义标签,func layoutSubviews() 调用无限时间,控制台显示BKSendHIDEvent: IOHIDEventSystemConnectionDispatchEvent
以下是相同的修复:
class CustomLabel: UILabel
var isSubLayoutSet: Bool = false
override internal init(frame: CGRect)
super.init(frame: frame)
required internal init?(coder aDecoder: NSCoder)
super.init(coder: aDecoder)
override func layoutSubviews()
super.layoutSubviews()
if isSubLayoutSet == false
//--- do your stuff related to set font or any operation...
///---
isSubLayoutSet = true
【讨论】:
所以,就是“***”【参考方案3】:fyi,我在更新到 iOS 9.3 后看到相同的控制台输出“未知事件已丢失”。我不确定它是操作系统,还是运行后台进程的特定应用程序,但我在许多不同的应用程序中看到它,包括主屏幕以及立即重新启动,所以我认为这是最新的 9.3 更新中的一个错误。
【讨论】:
以上是关于iOS 9 应用程序冻结与控制台日志“BKSendHIDEvent”的主要内容,如果未能解决你的问题,请参考以下文章