xcode12纯代码项目在ios模拟器中运行时,无法弹出键盘(其他解决方案无效)

如题:xcode112的纯代码项目在ios模拟器中运行时,无法弹出键盘。ios新手在百度/stackoverflow 均未找到深层原因,求前辈指点迷津?听公司前辈说是ios模拟器的问题

 

我尝试的解决方法:

1. 在ios模拟器的I/O中,取消connect hardware keyboard或者Toggle software keyboard,但并无效果,键盘依旧不弹出且接受mac键盘输入!注意:Safari中正常弹出键盘和接受mac键盘输入!

2. 在代码中,设置textField为第一响应者 becomeFirstResponder,无效

3. UISearchBar和WKWebView的输入框,同样无法弹出键盘

4. 取消纯代码项目的分屏功能,成功弹出键盘!

众所周知,在xcode11中引入了分屏功能,从而info.plist中增加条目Application Scene Manifest,ios的生命周期从AppDelegate类转移给了SceneDelegate类。具体步骤:删除SceneDelegate文件(APP不用分屏功能):在info.plist中删除下列这栏,注释掉在AppDelegate.m中UISceneSession lifeStyle的方法。

我也碰到了这个问题,是因为window的初始化
当我用 window = UIWindow.init(windowScene: UIWindowScene.init(session: session, connectionOptions: connectionOptions)) 就弹不出键盘
用 window = UIWindow(windowScene: scene as! UIWindowScene) 就可以了