【问题标题】:Autofill OTP to the TextField when I receive message iPhone app当我收到消息 iPhone 应用程序时将 OTP 自动填充到 TextField
【发布时间】:2016-02-02 01:20:35
【问题描述】:

从我的应用程序注册时,我正在向注册的手机号码发送 OTP 我想在我的应用程序中检索该 OTP 而无需打开 SMS 应用程序...当用户收到 OTP 消息时,我需要在此处显示该 OTP ...如何我可以在 iOS 中实现这一点吗?我还有用户电话号码。

在搜索中,我找到了this,但我不清楚如何启动它。 任何人都可以帮助我吗?

【问题讨论】:

标签: ios objective-c iphone sms one-time-password


【解决方案1】:

更新

从 iOS 12 开始,Apple 将允许支持读取您将在 iPhone 设备中获得的一次性代码(OTP - 一次性密码)。

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

1) 使用代码

singleFactorCodeTextField.textContentType = .oneTimeCode

2) 使用 Storyboard/XIB

storyboard/XIB 中选择UITextField/UITextView 点击属性检查器。转到文本输入特征,单击内容类型并选择一个时间码并完成。

操作系统将自动检测带有此 UITextContentType 集的消息中的验证码。

查看Enabling Password AutoFill on a Text Input View的官方文档

【讨论】:

  • 在我的情况下,这仅适用于 UItextfield,但不适用于 UItextView,你能分享 UITextview 的工作演示吗?
【解决方案2】:

您无法访问 ios 上的消息,因此您无法通过阅读短信在 ios 应用中自动填充 OTP。

您发布的链接中的答案不会阅读短信。他们只是创建了一个自定义 url 方案,并且当 用户在短信中单击自定义 url 时填写 otp。

【讨论】:

  • @TLuck 我刚刚更新了 iOS 10.1 并在其中启用了双向身份验证,Apple 自己的应用程序可以读取它并自动填充 OTP,对我来说,我不知道他们是否将其开放给开发人员或不是。
  • 我认为应用程序不应该允许阅读消息。这可能是安全漏洞。因为您可能有一些安全和敏感的信息。如银行信息
猜你喜欢
  • 2014-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-14
相关资源
最近更新 更多