使用蓝牙键盘时 iPad 应用挂起在 enumeratePreferredFocusEnvironments

问题描述 投票:0回答:0

App 主要是用 Swift 编写的,带有一些 Objective-C 代码。最近我发现将蓝牙键盘连接到 iPad 会导致此应用程序严重挂起 2 秒以上。

使用 Time Profiler 已经暴露了导致挂起的函数(下面的回溯),但我的问题是如何阻止这种情况发生? CPU 使用率也飙升至 100%。

这些挂起仅在蓝牙键盘连接到 iPad 时发生。如果我关闭 iPad 上的蓝牙,它会恢复正常运行。

当我尝试触摸影响屏幕上的 UI 时它似乎挂起,但触发挂起的操作并不总是相同的。

我试图覆盖 UIKit.UIFocus 周围的这些方法/变量,但没有任何区别:

  1. updateFocusIfNeeded - 尽管在回溯中,但永远不会命中
  2. shouldUpdateFocus - 永不命中
  3. enumeratePreferredFocusEnvironments - 返回空数组并被命中,但它仍然循环并挂起应用程序

iPad 在 iOS 16.3 上

ios swift bluetooth keyboard lag
© www.soinside.com 2019 - 2024. All rights reserved.