2016-08-03 10 views
2

セキュリティ上の理由から、ログインフィールドにカスタムキーボードが有効になっている場合は、警告を表示する必要があります。私は次のコードカスタムキーボードが有効になっていると警告を表示しますか?

-(BOOL)application:(UIApplication *)application shouldAllowExtensionPointIdentifier:(NSString *)extensionPointIdentifier 
{ 
    if ([extensionPointIdentifier isEqualToString: UIApplicationKeyboardExtensionPointIdentifier]) 
    { 
     return NO; 
    } 
    return YES; 
} 

を使用する場合、私は次のコードを使用している場合、それは私が唯一のいくつかのフィールドに無効にしたいすべてのfields.Butでキーボードを無効にします。 ifループ内で警告を試みるが、すべてのキーボードについて警告を表示する。どのように私はそれを達成することができますか?

答えて

4

アップルでは、​​ログインなどの保護されたフィールドにカスタムキーボードを使用することはできません。そのためには、ちょうどあなたのテキストフィールドのボックス「安全なテキスト入力」を

secure text field

にチェックを入れ、ここで見てください:https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/CustomKeyboard.html

+0

このメソッドを使用して、UITextInputがシステムキーボードのみを使用するようにすることもできます。これは、隠されたテキストフィールドやそのようなものを持つVNCアプリケーションでは便利かもしれません。 – the4kman

1

application:shouldAllowExtensionPointIdentifier:方法は、アプリケーション内のすべてのテキストフィールドのためにトリガされます。あなたのコードでは、特定のテキストフィールドが有効か無効かをチェックする条件はありません。

この機能を実装するには、textFieldShouldBeginEditing:以降のタップされたテキストフィールドの参照を取得してから、application:shouldAllowExtensionPointIdentifier:内部の参照を使用してカスタムキーボードを有効または無効にする必要があります。

関連する問題