首页 > 解决方案 > 在 Swift 中禁用第三方键盘

问题描述

假设

我将 SFSafari 与 Swift 一起使用,但在第三方键盘上打字时遇到问题,所以我想使用标准(强化)键盘。

附录1:清除Safari缓存后,仅在下次启动时固定,但无法清除缓存。......

附录2:用不动的键盘打开另一个应用程序,然后再次返回,可以输入。里面发生了什么……这件事会不会是故意发生的?

你遇到的问题

我想做的是和【Swift】一样的カスタムキーボードを无效化する</a>,好像App Delegate不能在iOS 13或更高版本上使用,所以我像Scene Delegate这样写,但是没有出现错误,但即使你执行它,第三方的冻结键盘也会出现。

适用源代码

网站上的代码

func application (_ application: UIApplication, shouldAllowExtensionPointIdentifier extensionPointIdentifier: UIApplicationExtensionPointIdentifier)-> Bool (
     if extensionPointIdentifier == .keyboard {
         return false
     }
     return true
}

在 Scenne Delegate 中重写的代码

func scene (_ scene: UIScene, willConnectTo session: UISceneSession, options a: UIApplication.ExtensionPointIdentifier)-> Bool (
         if a == .keyboard {
             return false
         }
         return true
     }

我试过的

AppDelegate 通过查看此处执行。(删除了场景委托)=>由于停电而停止正常工作。

有几种不同的方法可以写scene()的内容而不会出错,所以我尝试了一下。

附加信息(固件/工具版本等)

XCode11.4.1

标签: iosswift

解决方案


基本上我能够做到这一点。但是我不知道怎么用SFSafariViewController弄乱键盘,所以我用了WKWebView。(我使用 SFSafari 是因为我有一个错误,以前不能使用它。)你应该稍微改变换行符。


推荐阅读