【问题标题】:iPhone application – reading SMSiPhone应用——阅读短信
【发布时间】:2010-09-07 07:49:08
【问题描述】:

我需要开发一个 iPhone 应用程序,该应用程序需要读取用户收到的传入 SMS,操作文本,然后将其显示在应用程序中。

有人可以澄清是否可以读取我们的应用程序开发中收到的短信吗?

谢谢!

【问题讨论】:

    标签: ios4


    【解决方案1】:

    在 iOS 上无法拦截/读取传入的 SMS(出于隐私原因)。

    【讨论】:

    • 是的,手机越狱时可以拦​​截短信。
    • 我想阅读短信,但我的设备没有越狱。我不想将该应用程序上传到 App Store,所以是否可以?
    • 我的设备越狱了,但我仍然无法访问这个 sms.db 文件。它需要root权限。如何授予 root 权限。
    • @mohit :最简单的方法是在安装时为您的应用设置 setuid root。每次用户启动它时,它都会以root权限执行。
    • @Mads Mobaek,你有苹果官方文档的链接吗?我找不到任何
    【解决方案2】:

    只有当手机越狱时才有可能。 有很多工具可以让您的手机越狱。

    一旦越狱,应用程序就会在

    处打开 SQLite 数据库
    /var/mobile/Library/SMS/sms.db
    

    并阅读message 表。

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

    【讨论】:

      【解决方案3】:

      更新

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-28
        • 1970-01-01
        • 1970-01-01
        • 2013-04-17
        • 2018-11-20
        • 1970-01-01
        相关资源
        最近更新 更多