当我收到iPhone应用程序的消息时,自动填充OTP到文本字段

13

当用户从我的应用程序注册时,我会将OTP发送到注册的手机号码,我想在不打开短信应用程序的情况下在我的应用程序中检索该OTP ...当用户收到OTP消息时,我需要在此处显示该OTP ...我如何在iOS中实现此目标? 我也有用户电话号码。

在搜索中,我发现了这篇文章,但我不清楚如何启动此过程。 有人可以帮帮我吗?


你找到了什么?能分享链接吗? - Vijay
https://dev59.com/l3rZa4cB1Zd3GeqP79_M - user1986984
在iOS中无法读取短信。请查看此链接:https://dev59.com/XnA65IYBdhLWcg3wvhXi - Vijay
但是从上面的链接中,我可以看到我们可以访问短信吗? - user1986984
可能可以通过越狱设备完成。但不确定。 - Vijay
iOS10 有更新吗? - ios_dev
2个回答

12

更新

从iOS 12开始,苹果将允许支持读取一次性密码(OTP-One Time Password),这些密码将在iPhone设备上获取。

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

1)使用代码

singleFactorCodeTextField.textContentType = .oneTimeCode

2)使用Storyboard/XIB

storyboard/XIB中选择UITextField/UITextView,点击属性检查器。进入文本输入特性,点击内容类型并选择一次性代码,然后完成。

设置了此UITextContentType后,操作系统将自动从消息中检测到验证代码。

查看官方文档,了解在文本输入视图上启用密码自动填充


在我的情况下,这仅适用于UItextfield,而不适用于UItextView,您能分享UITextview的工作演示吗? - bhushan deshmukh

11

您无法在iOS上访问短信,因此无法通过阅读短信来自动填充iOS应用程序中的OTP。

您发布的链接中的答案不会读取短信。它们只创建一个自定义的URL方案,并在用户点击短信中的自定义URL时填写OTP。


@TLuck,我刚刚更新了iOS 10.1,并启用了双重身份验证,苹果自己的应用程序可以读取它并自动填充OTP。对于我来说,我不知道他们是否向开发人员开放了此功能。 - Jageen
我认为应用程序不应该允许读取消息。这可能会造成安全漏洞,因为您可能拥有一些安全和敏感信息,例如银行信息。 - TechChain

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接