2016-06-27 14 views
-1

Ich möchte Touch ID in meinem WebView-Projekt verwenden. Wenn mein Webview eine bestimmte URL lädt, zeige ich die Touchid-Authentifizierung an. Meine Frage ist, wie kann ich das Laden anhalten und fortsetzen, nachdem die Authentifizierung erfolgreich ist?WebView fortsetzen, wenn TouchID erfolgreich

Ich habe diesen folgenden Code in der Methode "should":

if([url isEqualToString:@"...=thisismyurl"]){ LAContext *myContext = [[LAContext alloc] init]; 
    NSError *authError = nil; 
    NSString *myLocalizedReasonString = @"Please Authentificate"; 

    if ([myContext canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&authError]) { 
     [myContext evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics 
        localizedReason:myLocalizedReasonString 
          reply:^(BOOL success, NSError *error) { 
           if (success) { 
            // User authenticated successfully, take appropriate action 
            ???? 
           } else { 
            // User did not authenticate successfully, look at error and take appropriate action 
            NSLog(@"NEIN"); 
           } 
          }]; 
    }} 

WICHTIG: die Lösung in meinem letzten Kommentar ist!

+0

Der Titel ist irreführend. Wenn Ihre Frage darin besteht, die Webview-Lade-URL anzuhalten, warum wird Ihre Frage in Webview als Touch-ID-Authentifizierung betitelt? –

+0

FYI können Sie StopLoading und StartLoading, IsLoading Methoden für Webview. –

+0

Sie sind richtig sry für den Titel! Ja, ich teste es jetzt mit stoploading (bist du sicher? Startloading ist keine gültige Methode). Wenn ich loadRequest benutze, sehe ich immer wieder die TouchID-Eingabeaufforderung – NoBody

Antwort

0

Ich habe es! Jetzt habe ich ein wenn vorher. Mit dieser if-Bedingung kann das Programm sehen, ob der Anruf beispielsweise von einer Schaltfläche kommt. Dieses ist meine Lösung:

if (navigationType == UIWebViewNavigationTypeFormSubmitted) { ... } 
Verwandte Themen