iOS
Storyboard
Xamarin
TouchID

Touch ID: Local Authentication の機能を追加してみる

More than 3 years have passed since last update.


Local Authenticationするゲートの画面を追加


View Controller をRoot画面で追加

追加する

image

リネームする

image

Rootにする

image

ボタン追加とリネーム

image

新Rootから旧Rootにセグエ追加

image

リネーム

image


ボタンのハンドラ追加

追加したボタンをダブクリして、ハンドラ追加してコードをコピペ:


void AuthenticateMe (UIButton sender)
{
var context = new LAContext();
NSError AuthError;
var myReason = new NSString("To add a new chore");

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

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);
};
}

partial void AuthenticateButton_TouchUpInside (UIButton sender)
{
this.AuthenticateMe(sender);
}


ターゲットOS変更

image


実行

親指だと認証と追ってしまうので、人差し指使ってスクショ取ったために認証エラーになっている。親指だと認証通って、セグエでPushする先のView Controllerに移動します。

image