如何用键盘解决这个奇怪的崩溃
Posted
技术标签:
【中文标题】如何用键盘解决这个奇怪的崩溃【英文标题】:How to fix this strange crash with keyboard 【发布时间】:2017-03-31 19:16:08 【问题描述】:我看到一些现场用户的键盘出现了一些奇怪的崩溃。 看起来像是 UIWindow 的 KVO 问题。
我们没有为关键路径 windowLevel
添加任何观察者,所以想知道是什么导致了这个崩溃或如何调试它。
UIRemoteKeyboardWindow 类的实例 0x12c653e70 是 在键值观察者仍向其注册时释放。 当前观察信息:NSKeyValueObservationInfo 0x12d3e6100 NSKeyValueObservance 0x1196e01a0:观察者:0x1273223f0,密钥路径: windowLevel,选项:上下文:0x0, 属性:0x12c633980>
而且这次崩溃非常随机,我个人从未遇到过这种情况,而是通过 Crashlytics 得到的。任何帮助,将不胜感激。 有没有其他人遇到过类似的问题。
【问题讨论】:
【参考方案1】:如果您提供了一些示例代码,那就太好了。但我猜你可能会同时在错误的位置删除 UIViewController 的所有观察者。将移除观察者的代码移到“viewWillDisappear”即可解决。
另一个猜测是当键盘被释放时你正在改变它的属性。
我的另一个猜测是你可能有一个“弱”的键盘属性。如果是这样,将其更改为“强”,它会解决问题。
【讨论】:
我明白这个问题太含糊了。我通过 Crashlytics 收到了崩溃,所以没有关于它是如何发生的信息,而且我个人在测试阶段从未见过这种崩溃。如果其他人遇到类似问题或遇到 UIRemoteKeyboardWindow 的奇怪行为,我只是在寻找见解。以上是关于如何用键盘解决这个奇怪的崩溃的主要内容,如果未能解决你的问题,请参考以下文章
iOS 9 键盘:此应用程序正在从后台线程修改自动布局引擎,这可能导致引擎损坏和奇怪的崩溃
Ipad Mini 2 上奇怪的 UIAccessibility 崩溃