【问题标题】:iOS 12 SMS Reading API?iOS 12 短信阅读 API?
【发布时间】:2018-11-20 07:26:03
【问题描述】:

在 iOS 12 的 Beta 版中,我观察到它在键盘建议中提供 OTP(来自 SMS)。
那么他们为开发人员创建了任何 API 吗?或者这只是一个操作系统功能。

【问题讨论】:

    标签: ios sms ios12


    【解决方案1】:

    没有api,但需要将textContentType设置为.oneTimeCodeUITextField属性

    otpTextField.textContentType = .oneTimeCode
    

    还有一件事,

    如果您对文本字段使用自定义输入视图, iOS 无法显示必要的自动填充 UI。

    Click here for more info by apple

    【讨论】:

      【解决方案2】:

      这是操作系统功能,但您需要设置UITextField的输入视图的textContentType属性oneTimeCode

      otpTextField.textContentType = .oneTimeCode
      

      注意:安全代码自动填充仅适用于系统键盘,不适用于自定义键盘。

      当您获得 OTP 时,它将如下所示:

      【讨论】:

        【解决方案3】:

        很遗憾,您无法阅读完整的消息,您只能阅读消息中的验证码。

        斯威夫特:

        @available(iOS 12.0, *)
        public static let oneTimeCode: UITextContentType
        
        myTextField.textContentType = .oneTimeCode
        

        目标-C:

        UITextContentType const UITextContentTypeOneTimeCode NS_AVAILABLE_IOS(12_0);
        
        myTextField.textContentType = UITextContentTypeOneTimeCode;
        

        系统可以识别以下这些验证码:

        长度为 3-8 的纯数

        喜欢:123 1234 12345 666666 1234567 12345678 ...


        系统无法识别以下验证码:

        (i).长度小于 3 或大于 8 (ii).包括字母

        喜欢:1 12 123a 9h7d 123456789 ...


        其他:

        安全代码自动填充仅适用于系统键盘。它不适用于自定义键盘。

        【讨论】:

        • 您的信息来源是什么?能给个链接吗?
        • @MichaelOzeryansky 你是说测试信息吗?没有来源。这是我自己测试的结果..
        • 黄色文本,符号“>”,用于引用某些内容。我问是因为您似乎引用了一些参考资料。
        • 我也看到短信的字数限制是70!
        • @mattyU 你在哪里看到的?
        【解决方案4】:

        不,没有公开的 API。它由操作系统自动处理。 您只需要将 UITextField 的输入视图的 textContentType 属性设置为 oneTimeCode。

        textField.textContentType = .oneTimeCode

        【讨论】:

          【解决方案5】:

          添加其他答案,经过测试,似乎短信需要在号码之前包含“验证码”或“代码”才能正常工作。

          工作:

          • 验证号 1234
          • 验证码:1234
          • 验证码1234
          • 验证码:1234
          • 代码 1234
          • 代码:1234
          • OTP 1234
          • 一次性密码:1234

          不工作:

          • 1234号
          • 验证 1234
          • 1234

          【讨论】:

            【解决方案6】:

            值得一提的是,似乎需要在手机上打开“自动填充密码”键盘选项。

            【讨论】:

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