防止/禁用 WkWebView Web 视图的第 3 方键盘

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

背景:

我正在开发的 iOS 应用程序是一个本机应用程序,但有一些使用 SFSafariViewController 的 Web 视图。出于安全要求,应用程序需要阻止用户使用第 3 方键盘进行文本输入。这对于本机代码来说非常简单,使用:

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

但是,这不适用于使用 SFSafariViewController 实现的 Web 视图,因为当用户尝试在 html 文本字段中输入文本时,他可以选择第 3 方键盘。

我们的渗透测试合作伙伴建议在 WKWebView 中重新实现这些 Web 视图。

问题:

  1. 查看 SFSafariViewController 和 SFSafariViewControllerDelegate,我没有看到任何方法可以阻止使用第 3 方键盘,除非有办法使用 html 或 javascript 来做到这一点。如果有办法,真的很感谢有关如何做到这一点的帮助吗?

  2. 如果我必须使用WkWebView,会

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

也适用于 WkWebView 还是仅适用于本机代码?如果没有,我如何防止/禁用第 3 方 WkWebView 中显示的 html 文本框中是否使用键盘?

提前致谢!

ios keyboard wkwebview sfsafariviewcontroller mobile-security
1个回答
0
投票

我相信我找到了问题的答案

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

除了防止在本机文本字段中使用第 3 方键盘之外,它还适用于 WKWebView 中呈现的 html 文本字段,但不适用于 SFSafariViewController

© www.soinside.com 2019 - 2024. All rights reserved.