【问题标题】:How to show verification code suggestion on keyboard from Message如何从消息中在键盘上显示验证码建议
【发布时间】:2018-11-19 04:34:27
【问题描述】:

我看了这个视频What's New in Cocoa Touch at WWDC 2018 并且看到了:

如何显示这些信息?

【问题讨论】:

  • 伙计,这太新了,不能说。我的想法是,手机现在有了智能,可以自动将应用名称和消息中的代码关联起来。
  • @lee 即使我的 iPhone 键盘上没有收到该建议
  • 将您的文本字段设置为.oneTimeCode,并且您的短信内容也需要包含OTP 字符串。

标签: ios swift xcode10 ios12


【解决方案1】:

评论WWDC 2018 Session 204 - Automatic Strong Passwords and Security Code AutoFill

您需要使用UITextField 进行输入和系统键盘(无自定义控件)并将其上的textContentType 设置为.oneTimeCode(iOS 12 中的新功能)。

let securityCodeTextField = UITextField()
securityCodeTextField.textContentType = .oneTimeCode

操作系统将自动检测带有此UITextContentType 设置的消息中的验证码(包含单词“code”或“passcode”的消息)。

【讨论】:

  • 短信是否必须采用某种格式?我早上试过这个,没有任何结果。
  • @Alix 它可能因地区而异,但我发现“JAL 安全代码:XXXXXX”或“您的代码是:XXXXXX”之类的消息有效。
  • 我有这样的格式:“3456 是你的验证码”你认为这是问题吗
  • @DaNLtR 它必须是特定的格式。我的格式是验证码是:xxxx。我认为文字验证或安全或类似的东西是关键
  • @Alix 秘密确实是“验证”——在希伯来语中也是如此:) 谢谢
【解决方案2】:

对于那些在 HTML 中搜索如何做到这一点的人:需要为您的输入字段添加 autocomplete="one-time-code"

<input id="single-factor-code-text-field" autocomplete="one-time-code"/>

(来自Apple Docs

【讨论】:

  • Apple 的文档似乎仍然在说同样的话,但我能够在没有它的情况下实现该行为 - 或者更具体地说,将其设置为 autocomplete"off"
【解决方案3】:

故事板

选择 UITextField > 显示属性检查器 > 文本输入特征 > 内容类型 > 一个时间码

【讨论】:

    【解决方案4】:

    iOS 支持 UITextField、UITextView 和任何采用 UITextInput 协议的自定义视图上的密码自动填充。系统键盘将其上的 textContentType 设置为 .oneTimeCode

    singleFactorCodeTextField.textContentType = .oneTimeCode
    

    重要

    tvOS 应用程序也可以使用相同的方式支持密码自动填充 内容类型设置。 AutoFill QuickType 栏出现在 使用 Control 在 iOS 设备上输入密码时的键盘 中心键盘、远程应用程序或连续互通键盘。重点是 当登录字段被填充时,也会前进到登录按钮。

    警告

    如果您对安全代码输入文本字段使用自定义输入视图, iOS 无法显示必要的自动填充 UI。

    【讨论】:

      猜你喜欢
      • 2020-07-19
      • 1970-01-01
      • 2011-12-06
      • 2017-09-02
      • 2015-06-29
      • 2012-06-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多