27

I got stuck that don't want Enter Password in the Alert of thumb impression

[context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:NSLocalizedString(@"UNLOCK_ACCESS_TO_LOCKED_FEATURE", nil) reply:
         ^(BOOL success, NSError *authenticationError)
         {
             if (success)
             {

                 msg =[NSString stringWithFormat:NSLocalizedString(@"EVALUATE_POLICY_SUCCESS", nil)];
             }
             else
             {
                 msg = [NSString stringWithFormat:NSLocalizedString(@"EVALUATE_POLICY_WITH_ERROR", nil), authenticationError.localizedDescription];
             }
         }];
     }
mfaani
  • 33,269
  • 19
  • 164
  • 293
Rahul Gupta
  • 501
  • 1
  • 7
  • 15

7 Answers7

71

To hide the button "Enter password", you need to set localizedFallbackTitle to an empty string.

//...
LAContext *context = [[LAContext alloc] init];

// Hide "Enter Password" button
context.localizedFallbackTitle = @"";

// show the authentication UI
//...

About the "Cancel" button I don't think that it is possible to remove it.

Hope that it will be helpful.

youssman
  • 1,514
  • 1
  • 17
  • 21
15

There is localizedFallbackTitle property of LAContext class. If you want custom text instead of “Enter password” then you can set here.

If it is set to empty string then the button will be hidden.

Screenshot 1

Below is code that I’ve used :

 //MARK: - scanFingerPrint
    func scanFingerPrint() {
        let authContext:LAContext = LAContext()
        authContext.localizedFallbackTitle = ""
    . . .
    }

Screenshot 2

Jayprakash Dubey
  • 35,723
  • 18
  • 170
  • 177
4

Look at LAContext.h, I found this:

/// Fallback button title.
/// @discussion Allows fallback button title customization. A default title "Enter Password" is used when
///             this property is left nil. If set to empty string, the button will be hidden.
@property (nonatomic, copy) NSString *localizedFallbackTitle;

You should set localizedFallbackTitle = @"" -- empty string;. Let's try it and accept answer if it work.

hahv
  • 582
  • 1
  • 4
  • 16
1

You should used empty string like "" for localizedFallbackTitle
Example:

let context:LAContext = LAContext()
context.localizedFallbackTitle = ""
0

You can remove "cancel" button, however your app will be rejected in this case

[context setCancelButtonVisible:false];
  • Why would you add an option (after acceptable, Apple-designated/approved options have been offered) that violates the HIG? – mbm29414 Jul 28 '16 at 16:22
0

Looks like Apple has added a way to cusotmize the cancel button title from iOS 10,

localizedCancelTitle

The localized title for the fallback button in the dialog presented to the user during authentication.

Discussion

This string should be provided in the user’s current language and should be short and clear.

https://developer.apple.com/documentation/localauthentication/lacontext/1643658-localizedcanceltitle

Satheesh
  • 10,998
  • 6
  • 50
  • 93
0

you can change the title of cancel button if you like

[context setLocalizedCancelTitle:@"ABC"];
AFTAB MUHAMMED KHAN
  • 2,189
  • 3
  • 18
  • 24