我需要开发一个iPhone应用程序,它需要读取用户接收的短信,处理文本,然后在应用程序中显示。请问是否可以在我们的应用程序开发中读取接收到的短信?谢谢!
由于隐私保护原因,在iOS上无法拦截/阅读短信。
只有在手机越狱后才能实现此功能。 有许多工具可以越狱您的手机。
一旦越狱成功,应用程序可以打开SQLite数据库,位于
/var/mobile/Library/SMS/sms.db
并读取 message
表。
该表包含消息接收的日期/时间、发件人/收件人电话号码,甚至是消息的明文。
更新
从iOS 12开始,苹果将允许支持读取iPhone设备中的一次性密码(OTP-One Time Password)。
iOS支持在UITextField、UITextView和任何采用UITextInput协议的自定义视图上进行密码自动填充。系统键盘将其textContentType设置为.oneTimeCode
1)使用代码
singleFactorCodeTextField.textContentType = .oneTimeCode
2)使用Storyboard/XIB
在
storyboard/XIB
中选择UITextField
/UITextView
,点击属性检查器。进入文本输入特征,点击内容类型并选择一次性代码,完成后保存即可。
操作系统将自动检测来自消息的验证代码,并设置此UITextContentType
。
警告
如果您为安全代码输入文本字段使用自定义输入视图,则iOS无法显示必要的自动填充UI。
有关更多信息,请查看Apple开发者oneTimeCode
还可以查看WWDC 2018 Session 204 - Automatic Strong Passwords and Security Code AutoFill,跳转到24:28自动预填OTP。