I'm an iOS developer and i have tried to build a mobile application with automatic activation functionality, i found more than way to read SMS message but only using private API which will cause Apple rejection to my app.,i have two questions and appreciate any feedback can help me.
1- Is there any way to read SMS message in iOS platform without facing Apple rejection ?
2- Can anybody provide me with the related section in Apple developer documentation, the section that describe that its not allowed to read SMS message in iOS platform ?
- No, there is no way to read SMS messages. Apple is very strict on this due to privacy concerns.
- Log in to the developers portal and click App Store Review Guidelines.
Nowhere in the guidelines does it specify that you can't access the SMSes. But you can only acces then if you use private methods which is not allowed and will get you app rejected.
You can only access data for which Apple supplies a documented API. You can not access file outside of the Sandbox of your App, unless Apple provides an API for it.
UPDATE
From iOS 12 Apple has given support to read the security code (OTP - One Time Passwords) in text fields.
oneTimeCode
Specifies the expectation of a single-factor SMS login code.
You can autocomplete security codes from single-factor SMS login flows:
yourSingleFactorCodeTextField.textContentType = .oneTimeCode
iOS supports Password AutoFill on UITextField, UITextView, and any
custom view that adopts the UITextInput protocol.
Warning
If you use a custom input view for a security code input text field,
iOS cannot display the necessary AutoFill UI.
From iOS 12 Apple will supports Password AutoFill on UITextField
, UITextView
, and any custom view that adopts the UITextInput
protocol
. System keyboard set the textContentType
on it to .oneTimeCode
Select UITextField
/UITextView
in storyboard/XIB
click Click on Attribute
inspector. Go to text input trait, click to Content type and select
one time code and done.
It only works with System keyboard. So avoid using the custom keyboard.
And for more information, you will also review WWDC 2018 Session 204 - Automatic Strong Passwords and Security Code AutoFill and jump to 24:28 for automatic pre-fill the OTP.