【发布时间】:2010-09-07 07:49:08
【问题描述】:
我需要开发一个 iPhone 应用程序,该应用程序需要读取用户收到的传入 SMS,操作文本,然后将其显示在应用程序中。
有人可以澄清是否可以读取我们的应用程序开发中收到的短信吗?
谢谢!
【问题讨论】:
标签: ios4
我需要开发一个 iPhone 应用程序,该应用程序需要读取用户收到的传入 SMS,操作文本,然后将其显示在应用程序中。
有人可以澄清是否可以读取我们的应用程序开发中收到的短信吗?
谢谢!
【问题讨论】:
标签: ios4
在 iOS 上无法拦截/读取传入的 SMS(出于隐私原因)。
【讨论】:
只有当手机越狱时才有可能。 有很多工具可以让您的手机越狱。
一旦越狱,应用程序就会在
处打开 SQLite 数据库/var/mobile/Library/SMS/sms.db
并阅读message 表。
它包含收到消息的日期/时间、发件人/收件人的电话号码,甚至是消息的明文。
【讨论】:
更新
从 iOS 12 开始,Apple 将允许支持读取您将在 iPhone 设备中获得的一次性代码(OTP - 一次性密码)。
iOS 支持 UITextField、UITextView 和任何采用 UITextInput 协议的自定义视图上的密码自动填充。系统键盘将其上的 textContentType 设置为 .oneTimeCode
1) 使用代码
singleFactorCodeTextField.textContentType = .oneTimeCode
2) 使用 Storyboard/XIB
在
storyboard/XIB中选择UITextField/UITextView点击点击属性 检查员。转到文本输入特征,单击内容类型并选择 一次编码就完成了。
操作系统将使用此UITextContentType 集自动检测消息中的验证码。
警告
如果您对安全代码输入文本字段使用自定义输入视图, iOS 无法显示必要的自动填充 UI。
更多信息可以到苹果开发者oneTimeCode查看
还可以查看 WWDC 2018 Session 204 - Automatic Strong Passwords and Security Code AutoFill 并跳转到 24:28 以自动预填充 OTP。
【讨论】: