Looking for xamarin.ios Answers? Try Ask4KnowledgeBase
Looking for xamarin.ios Keywords? Try Ask4Keywords

Xamarin.iOSidentifición de toque


Parámetros

Columna Columna
Célula Célula

Observaciones

Primero, establezca si el dispositivo es capaz de aceptar la entrada Touch ID.

if (context.CanEvaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, out AuthError))

Si lo hace, entonces podemos mostrar la interfaz de usuario de Touch ID utilizando:

context.EvaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, myReason, replyHandler);

Hay tres datos que debemos pasar a EvaluatePolicy : la política en sí misma, una cadena que explica por qué es necesaria la autenticación y un controlador de respuestas. El controlador de respuestas le dice a la aplicación lo que debe hacer en el caso de una autenticación exitosa o no exitosa.

Una de las advertencias de la autenticación local es que debe ejecutarse en primer plano, así que asegúrese de usar InvokeOnMainThread para el controlador de respuesta:

var replyHandler = new LAContextReplyHandler((success, error) =>
    {

        this.InvokeOnMainThread(() =>
        {
            if (success)
            {
                Console.WriteLine("You logged in!");
                PerformSegue("AuthenticationSegue", this);
            }
            else {
                //Show fallback mechanism here
            }
        });

    });

Para determinar si la base de datos de huellas dactilares autorizadas se ha modificado, puede verificar la estructura opaca (NSData) que devuelve context.EvaluatedPolicyDomainState . Su aplicación deberá almacenar y comparar el estado de la política para detectar cambios. Una cosa a tener en cuenta que Apple dice:

Sin embargo, la naturaleza del cambio no se puede determinar a partir de estos datos.

if (context.CanEvaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, out AuthError))
{
    var policyState = context.EvaluatedPolicyDomainState;

    var replyHandler = new LAContextReplyHandler((success, error) =>
    {

        this.InvokeOnMainThread(() =>
        {
            if (success)
            {
                Console.WriteLine("You logged in!");
                PerformSegue("AuthenticationSegue", this);
            }
            else {
                //Show fallback mechanism here
            }
        });

    });
    context.EvaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, myReason, replyHandler);
};

identifición de toque Ejemplos relacionados