web-dev-qa-db-ja.com

iOSでの自動OTP検証?

IPhone受信ボックス(SMS)からiOSアプリケーションにデータにアクセスして、Androidのような自動OTP検証を行う方法はありますか?あなたの助けに感謝します。

19
Rinshad Kammath

IOS 12では、AppleはSecurity Code AutoFill

これをアプリで使用するには、UITextFieldの入力ビューのtextContentTypeプロパティoneTimeCodeを設定するだけです。

otpTextField.textContentType = .oneTimeCode

[〜#〜] note [〜#〜]:セキュリティコードの自動入力はシステムキーボードでのみ動作し、カスタムキーボードでは動作しません。

WWDCビデオ

OTPを取得すると、次のようになります。

enter image description here

17
iVarun

[〜#〜] update [〜#〜]

IOS 12からAppleは、UITextField、UITextView、およびUITextInputプロトコルを採用するカスタムビューのパスワードオートフィルをサポートします。システムキーボードは、その上のtextContentTypeを設定します。 。oneTimeCode

1)コードの使用

singleFactorCodeTextField.textContentType = .oneTimeCode

2)Storyboard/XIBを使用する

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

オペレーティングシステムは、このUITextContentTypeが設定されたメッセージから検証コードを自動的に検出します。

警告

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

WWDC 2018 iPhoneX Device

詳細については、Apple developer oneTimeCode で確認できます。

また、 WWDC 2018 Session 204-Automatic Strong Passwords and Security Code AutoFill に移動し、24:28に自動で移動しますOTPを事前に入力します。

6

[〜#〜] update [〜#〜]

これは、iOS 12で セキュリティコードの自動入力 で可能になりました。

AppleはApple iOS 11以降のペイカード認証で使用しています

enter image description here

5
Ted

Xamarin iOSで、> = iOS 12の場合:

まず、SMSは、キーワード "code"または "passcode"をメッセージに含める必要があります。 コードの後に​​スペースを使用しないでください。SMSを受け取り、ボタンがある場合「コードのコピー」

enter image description here

次に、これを配置する必要があります。

_txtField = new UITextField()
{
   UserInteractionEnabled = true,
};
if (UIDevice.CurrentDevice.CheckSystemVersion(12, 0))
{
  _txtField.TextContentType = UITextContentType.OneTimeCode;          
}
_txtFieldDelegate = new UITextFieldDelegate();
_txtField.Delegate = _txtFieldDelegate;
_txtField.BecomeFirstResponder();

注:セキュリティコードの自動入力は、システムキーボードでのみ機能します(カスタムではありません)。

4
El0din

ストーリーボードで簡単に設定できます

Click on Attribute inspector. Go to text input trait, click on Content type and select one time code

2
king_T

メッセージからOTPを取得できます。

otptextField.textContentType = .oneTimeCode

彼のリンクからプロジェクトを入手してください。

https://github.com/karthickkck315/Automatic-OTP

1
Karthickkck

また、受信するテキストメッセージに次のような「コード」が含まれていることも重要です。

「パスコードは:123456」

または

「12345はログインするコードです」

その線に沿って何か。

NOT!

あなたのアプリ:12345

メッセージ内の下線付きのコードをタップして、テキストメッセージ内のコードが.oneTimeCodeタイプで機能するかどうかを確認できます。 「コードのコピー」というダイアログがポップアップ表示されたら、準備ができています。それ以外の場合は、メッセージのテキストを変更する必要があります。

1
iVentis