我是一名 iOS 开发人员,我试图构建一个具有自动激活功能的移动应用程序,我发现不仅仅是阅读 SMS 消息的方法,但只使用私有 API,这会导致 Apple 拒绝我的应用程序。我有两个问题,很感激任何反馈都可以帮助我。
- 有什么方法可以在 iOS 平台上阅读 SMS 消息而不会遇到 Apple 拒绝?
- 任何人都可以向我提供 Apple 开发人员文档中的相关部分,描述它不允许在 iOS 平台上阅读 SMS 消息的部分吗?
我是一名 iOS 开发人员,我试图构建一个具有自动激活功能的移动应用程序,我发现不仅仅是阅读 SMS 消息的方法,但只使用私有 API,这会导致 Apple 拒绝我的应用程序。我有两个问题,很感激任何反馈都可以帮助我。
指南中没有任何地方指定您不能访问 SMS。但是只有使用不允许的私有方法才能访问,这会导致您的应用程序被拒绝。
您只能访问 Apple 为其提供文档化 API 的数据。除非 Apple 为其提供 API,否则您无法访问应用程序沙盒之外的文件。
更新
从 iOS 12 开始,Apple 支持读取文本字段中的安全代码(OTP - 一次性密码)。
指定单因素 SMS 登录代码的期望值。
您可以从单因素 SMS 登录流程中自动完成安全代码:
yourSingleFactorCodeTextField.textContentType = .oneTimeCode
iOS 支持 UITextField、UITextView 和任何采用 UITextInput 协议的自定义视图上的密码自动填充。
警告
如果您对安全代码输入文本字段使用自定义输入视图,iOS 将无法显示必要的自动填充 UI。
从iOS 12开始, Apple 将支持密码自动填充UITextField
,UITextView
以及任何采用UITextInput
protocol
. 系统键盘将textContentType
其设置为.oneTimeCode
选择
UITextField
/单击单击属性检查器UITextView
。storyboard/XIB
转到文本输入特征,单击内容类型并选择一个时间码并完成。
它仅适用于系统键盘。所以避免使用自定义键盘。
如需更多信息,您还将查看WWDC 2018 Session 204 - Automatic Strong Passwords and Security Code AutoFill并跳转到24:28以自动预填充 OTP。
支持 - 自 iOS 12 起
Flow,在 iPhone 上自动填写短信密码 - https://support.apple.com/en-in/guide/iphone/iphc89a3a3af/13.0/ios/13.0
当您登录某些应用程序和网站时,一次性 SMS 密码会发送到您的 iPhone。作为一项安全措施,您需要在应用程序或网站中输入代码。iPhone 可以检测信息中的密码并将其显示在键盘上方。
要使用密码,请点按它。