iPhone 应用程序 - 阅读短信

15
我需要开发一个iPhone应用程序,它需要读取用户接收的短信,处理文本,然后在应用程序中显示。请问是否可以在我们的应用程序开发中读取接收到的短信?谢谢!
3个回答

20

由于隐私保护原因,在iOS上无法拦截/阅读短信。


1
是的,当手机越狱后,拦截短信是可能的。 - Sébastien Stormacq
我想阅读短信,但我的设备未越狱。我不想将该应用上传到App Store,所以这是否可行? - Hitarth
我的设备已越狱,但我仍然无法访问这个sms.db文件。它需要root权限。我该如何授予root权限? - Mohit Raval
@mohit:最简单的方法是在安装应用程序时将其设置为setuid root。每次用户启动它时,它都会以root权限执行。 - Sébastien Stormacq
@Mads Mobaek,您有苹果公司关于此问题的官方文档链接吗?我找不到任何资料。 - Mehdi Ijadnazar
@Mads,我知道已经有一段时间了,但现在是否可以在iPhone上读取收到的短信? - kd12345

14

只有在手机越狱后才能实现此功能。 有许多工具可以越狱您的手机。

一旦越狱成功,应用程序可以打开SQLite数据库,位于

/var/mobile/Library/SMS/sms.db

并读取 message 表。

该表包含消息接收的日期/时间、发件人/收件人电话号码,甚至是消息的明文。


6

更新

从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。

WWDC 2018 iPhoneX Device

有关更多信息,请查看Apple开发者oneTimeCode

还可以查看WWDC 2018 Session 204 - Automatic Strong Passwords and Security Code AutoFill,跳转到24:28自动预填OTP。


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