我是一名iOS开发者,尝试使用自动激活功能构建移动应用程序,我找到了多种读取短信的方法,但只能使用私有API,这将导致苹果拒绝我的应用程序。我有两个问题,希望得到任何有帮助的反馈。
- 在iOS平台上,有没有不会面临苹果拒绝的情况下读取短信的方法?
- 是否可以提供相关章节的苹果开发者文档,描述在iOS平台上不允许读取短信?
我是一名iOS开发者,尝试使用自动激活功能构建移动应用程序,我找到了多种读取短信的方法,但只能使用私有API,这将导致苹果拒绝我的应用程序。我有两个问题,希望得到任何有帮助的反馈。
在指南中没有明确说明您不能访问短信。但是,如果您使用私有方法,则只能访问,这是不允许的,并将使您的应用被拒绝。
您只能访问苹果提供文档化API的数据。除非苹果为其提供API,否则无法访问应用程序沙箱之外的文件。
更新
iOS 12起,苹果公司已经支持在文本字段中读取安全码(OTP -一次性密码)。
指定单因素短信登陆代码的期望。
您可以自动完成来自单因素短信登录流程的安全码:
yourSingleFactorCodeTextField.textContentType = .oneTimeCode
从iOS 12开始,苹果将支持UITextField
、 UITextView
和任何采用UITextInput
协议
的自定义视图上的密码自动填充。系统键盘将在其上设置textContentType
为.oneTimeCode。
在
storyboard/XIB
中选择UITextField
/UITextView
,单击属性检查器。进入“文本输入特征”,点击内容类型,选择一次性代码并完成设置。
仅适用于系统键盘,因此避免使用自定义键盘。
更多信息,请参阅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
当您登录一些应用和网站时,会向您的iPhone发送一次性短信密码。作为一项安全措施,您需要将代码输入到应用程序或网站中。iPhone可以在短信中检测到密码,并在键盘上方显示它。
要使用密码,请点击它。
iOS系统上无法实现。苹果没有提供公共API来访问用户的信息。