2015-01-23 3 views
16

mi sono bloccato che non vogliono Immettere la password nel Alert di pollice impressioneCome rimuovere Immettere password e pulsante Cancel dal tocco ID avviso vista

[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]; 
      } 
     }]; 
    } 
+0

Si dovrebbe davvero lasciare questa opzione lì. Cosa succede se un utente non ha impostato Touch ID. – soulshined

+1

se un utente non ha impostato Touch ID, tale avviso non verrà visualizzato. –

risposta

47

per nascondere il pulsante "Enter password", è necessario impostare localizedFallbackTitle su una stringa vuota.

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

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

// show the authentication UI 
//... 

Circa il pulsante "Annulla" Non credo che sia possibile rimuoverlo.

speranza che possa essere utile.

+0

ho anche fatto lo stesso ha funzionato ... ma sto ancora cercando di annullare il pulsante. –

4

Guarda LAContext.h, ho trovato questo :

/// 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; 

È necessario impostare localizedFallbackTitle = @"" -- empty string;. Proviamo e accettiamo la risposta se funziona.

-1

È possibile rimuovere pulsante "annulla", tuttavia la vostra applicazione saranno respinte in questo caso

[context setCancelButtonVisible:false]; 
+0

Perché dovresti aggiungere un'opzione (dopo le opzioni accettabili, designate/approvate da Apple sono state offerte) che viola il HIG? – mbm29414

4

C'è localizedFallbackTitle proprietà di LAContext classe. Se desideri un testo personalizzato invece di "Inserisci password", puoi impostarlo qui.

Se è insieme a stringa vuota quindi il pulsante viene nascosto.

Screenshot 1

Qui di seguito è il codice che ho usato:

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

Screenshot 2