gpt4 book ai didi

ios - 如何以编程方式在 iOS 上读取传入的短信

转载 作者:可可西里 更新时间:2023-11-01 03:08:08 24 4
gpt4 key购买 nike

关于如何以编程方式访问存储在 iPhone 中的 SMS 消息,存在大量问题。做一个小的研究,你会很快和悲伤地发现,由于明显的安全原因,Apple 不会让我们的开发人员接触 SMS API 或 SMS 数据库。让我们暂时搁置这个事实。

我拥有一辆 BMW 汽车,配备了名为 iDrive 的出色“信息娱乐”系统。就在最近,我意识到当我的 iPhone 连接到 USB 时,我实际上可以通过 iDrive 系统读取收到的短信。这真的让我很感兴趣。在研究了汽车和手机配置之后,我终于发现 iDrive 实际上是在显示来自通知中心的短信。这意味着每次我收到一条新消息时,它都会在锁屏中显示为通知,并且汽车可以访问它,因为通知中心有公共(public) API。从通知中删除“消息”应用后,我什么也没收到。

正如你们中的许多人之前所想的那样,我还想创建一个可以监控收到的短信并根据从短信正文中扫描的关键字采取一些行动的应用。

直到现在,我真的很倾向于转向 Android 以使我自由,但是,看着汽车显示收到的短信让我看到了隧道尽头的一线曙光。

有人知道如何构建可以从通知中心读取条目的 iOS 应用程序吗?我尝试了一些研究,但这似乎是一个广泛的问题,很难找到 iOS 通知中心的具体文档。

我应该指出,我不是经验丰富的 iOS 开发人员,因此非常感谢任何帮助。

顺便说一句 - 我永远无法理解 Apple 官方文档支持。找到正在运行的应用程序的完整示例有点令人困惑。

感谢您的帮助。法比奥

更新:已经是 2021 年了,Apple 即将发布 iOS 15,但我们仍然没有允许访问 SMS 数据库的 API。

最佳答案

在 iOS 12 中,Apple 提供了一个选项来读取 SMS (一次性密码)

If the system can parse a security code from an SMS message, theQuickType bar shows the code for up to three minutes after it has beenreceived. If a security code arrives while the text input view isselected, the system pushes the incoming code to the QuickType bar.

To test the format of your SMS code for different languages, text amessage to yourself. If you receive a message with an underlinedsecurity code, tap on the code. If a Copy Code option appears, thesystem has recognized your code.

iOS supports Password AutoFill on UITextField, UITextView, and anycustom view that adopts the UITextInput protocol.

您可以从单因素 SMS 登录流程中自动完成安全代码

以编程方式

yourTextField.textContentType = .oneTimeCode

Storyboard/XIB

Select UITextField/UITextView in storyboard/XIB click Click onAttribute inspector. Go to text input trait, click to Content type andselect one-time code and done.

enter image description here

执行前请确认

  • 如果您对安全代码输入文本字段使用自定义输入 View ,iOS 无法显示必要的自动填充用户界面。
  • 它只适用于系统键盘。所以避免使用自定义键盘。

关于ios - 如何以编程方式在 iOS 上读取传入的短信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31601552/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com