web-dev-qa-db-ja.com

読み取りSMSメッセージ

私はiOS開発者であり、自動アクティベーション機能を備えたモバイルアプリケーションを構築しようとしましたが、SMSメッセージを読み取る方法以上のものを見つけましたが、Appleを引き起こすプライベートAPIのみを使用しています私のアプリへの拒否。2つの質問があります。フィードバックがあれば助かります。

1- SMS拒否に直面せずにiOSプラットフォームでAppleメッセージを読み取る方法はありますか? 2-誰かがApple開発者用ドキュメントの関連セクション、iOSプラットフォームではSMSメッセージの読み取りが許可されていないことを説明するセクションを提供できますか?

23
UBA_MobileTeam
  1. いいえ、SMSメッセージを読む方法はありません。Appleはプライバシーの問題により、これを非常に厳しくしています。
  2. 開発者ポータルにログインし、[ App Storeレビューガイドライン ]をクリックします。

ガイドラインのどこにも、SMSにアクセスできないことは明記されていません。ただし、アクセスできないのは、許可されておらず、アプリが拒否されるプライベートメソッドを使用している場合のみです。

Appleが文書化されたAPIを提供するデータにのみアクセスできます。AppleがAPIを提供しない限り、アプリのサンドボックスの外でファイルにアクセスすることはできません。それ。

22
rckoenes

[〜#〜]更新[〜#〜]

IOS 12以降Appleは、テキストフィールドのセキュリティコード(OTP-ワンタイムパスワード)の読み取りをサポートしています。

oneTimeCode

単一要素の期待値を指定しますSMSログインコード。

単一要素SMSログインフローからセキュリティコードをオートコンプリートできます:

yourSingleFactorCodeTextField.textContentType = .oneTimeCode

iOSは、UITextField、UITextView、およびUITextInputプロトコルを採用するカスタムビューでのパスワードオートフィルをサポートしています。

警告

セキュリティコード入力テキストフィールドにカスタム入力ビューを使用する場合、iOSは必要なオートフィルUIを表示できません。

Security Code Autofill

16
Ashish Kakkad

からiOS 12 Appleは、UITextFieldUITextView、およびUITextInputprotocol。システムキーボードでtextContentType。oneTimeCodeに設定します

  • ストーリーボード/ XIBの使用

storyboard/XIBUITextField/UITextViewを選択し、[属性インスペクター]をクリックします。テキスト入力特性に移動し、コンテンツタイプをクリックして、ワンタイムコードを選択して完了します。

システムキーボードでのみ機能します。したがって、カスタムキーボードの使用は避けてください。


さらに詳細については、 WWDC 2018 Session 204-Automatic Strong Passwords and Security Code AutoFill も確認して24:28 OTPの自動事前入力。

iPhoneX image

6

Swift 5:の場合

iOS 12からAppleは、テキストフィールドのセキュリティコード(OTP-ワンタイムパスワード)の読み取りをサポートしています。

if #available(iOS 12.0, *) {
               otpField.keyboardType = .default
               otpField.textContentType = .oneTimeCode
       } else {
               // Fallback on earlier versions

       }

または、以下のようにストーリーボードからこれcontentTypeを追加できます。

enter image description here

0