iOS 13模拟器键盘卡顿求助:Xcode 11下EditText触发应用冻结
关于Xcode 11适配中iPhone 11 Pro Max模拟器点击输入框冻结的问题
我之前在适配Xcode 11的时候也碰到过几乎一模一样的情况!先给你吃个定心丸:这个问题大概率是模拟器本身的兼容性bug,不是你的代码问题,而且真机上基本不会出现同款问题。
为什么会出现这种情况?
你提到连模拟器自带的「信息」应用都会冻结,这就说明不是你项目里的EditText(应该是UITextField/UITextView吧?)的代码逻辑问题,而是Xcode 11早期版本和iPhone 11 Pro Max模拟器的适配存在稳定性bug,加上模拟器长时间运行后的缓存堆积,触发了冻结。
亲测有效的解决办法:
- 彻底重置模拟器:打开模拟器,点击顶部菜单的
Simulator→Erase All Content and Settings,这个比单纯重启模拟器更彻底,能清空所有缓存和模拟数据,重置后基本不会再触发冻结。 - 清理Xcode缓存:关闭Xcode和模拟器后,删除这两个目录的内容:
~/Library/Developer/Xcode/DerivedData~/Library/Caches/com.apple.dt.Xcode
之后重启Xcode和模拟器,能解决不少Xcode和模拟器的兼容性小问题。
- 更新Xcode到11的最新小版本:Xcode 11刚发布的时候有不少模拟器的bug,苹果后续推出的11.4、11.7这些小版本修复了很多稳定性问题,升级后模拟器的冻结概率会大大降低。
- 临时应急技巧:如果不想每次都重置,试试切换模拟器的设备型号(比如先切到iPhone 11,再切回iPhone 11 Pro Max),有时候能临时绕过冻结问题,但这只是权宜之计。
关于真机的担心
我当时在iPhone 11 Pro Max真机上反复测试过,完全没出现过点击输入框冻结的情况。因为模拟器的运行环境和真机差异很大,这个bug是模拟器特有的,所以不用太担心真机的表现。如果实在不放心,可以找一台真机简单验证一下,应该不会有问题。
内容的提问来源于stack exchange,提问作者Panks
相关产品推荐
相关产品推荐

