IOS 12のベータ版では、キーボードの提案でOTP(from SMS)が提供されることを確認しました。
では、開発者向けに作成したAPIはありますか?または、それは単にOSの機能です。
残念ながら、メッセージ全体を読むことはできません。メッセージ内の確認コードしか読むことができません。
Swift:
@available(iOS 12.0, *)
public static let oneTimeCode: UITextContentType
myTextField.textContentType = .oneTimeCode
目的C:
UITextContentType const UITextContentTypeOneTimeCode NS_AVAILABLE_IOS(12_0);
myTextField.textContentType = UITextContentTypeOneTimeCode;
これらの以下の検証コードは、システムによって認識されます:
3-8の純粋な長さ
など:123 1234 12345 666666 1234567 12345678 ...
これらの次の検証コードはシステムで認識できません:
(i)。コードの長さが3未満または8を超える(ii).include文字
など:1 12 123a 9h7d 123456789 ...
その他:
セキュリティコードの自動入力はシステムキーボードでのみ動作します。カスタムキーボードでは動作しません。
APIはありませんが、textContentType
をUITextField
プロパティの.oneTimeCode
として設定する必要があります
otpTextField.textContentType = .oneTimeCode
もう一つ、
テキストフィールドにカスタム入力ビューを使用する場合、iOSは必要なオートフィルUIを表示できません。
「パスワードを自動入力する」キーボードオプションを電話でオンにする必要があるようだと言う価値があります。
いいえ、パブリックAPIはありません。 OSによって自動的に処理されます。 UITextFieldの入力ビューのtextContentTypeプロパティをoneTimeCodeに設定するだけです。
textField.textContentType = .oneTimeCode
他の回答に加えて、テスト後、テキストメッセージには、番号の前に「検証番号」または「コード」を含める必要があるようです。
ワーキング:
動作しない: