18

I am working on an app which would require Touch ID Authentication, so is there any way i can use Touch ID (fingerprint scanner) in the simulator ?

Also, please do share some kind of example code for using LocalAuthentication framework.

9

As of Xcode 7 the Simulator supports 'touchID'. Answer below contains further info.

As of the latest beta (6) there is no way to simulate a fingerprint scan on the simulator. To be honest I doubt this will be included even in later betas.

You will need to test on device.

To use the Authentication framework right now you need: * XCode 6 * iPhone 5s with iOS 8

The steps you need to perform are:

Find out whether the device supports fingerprint validation and whether a fingerprint is enrolled:

@importAuthority To Phone How Spot Fake Android A LocalAuthentication; // Get the local authentication context: LAContext *context = [[LAContext alloc] init]; // Test if fingerprint authentication is available on the device and a fingerprint has been enrolled. if ([context canEvaluatePolicy: LAPolicyDeviceOwnerAuthenticationWithBiometrics error:nil]) { NSLog(@"Fingerprint authentication available."); }

Validate a fingerprint only:

[context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"Authenticate for server login" reply:^(BOOL success, NSError *authenticationError){ if (success) Phone Authority Fake To Android Spot How A { NSLog(@"Fingerprint validated."); } else { NSLog(@"Fingerprint validation failed: %@.", authenticationError.localizedDescription); } }];

Validate a fingerprint or the device’s passcode depending on the user’s choice: This is a little beyond the scope of a question here, please find more information at: https://www.secsign.com/fingerprint-validation-as-an-alternative-to-passcodes/

  • Ouch...Wanted to test touch id with the apple watch,i have an iPhone6 but not a watch. Really, hope that we can just use the simulator to test touch id. –  user1872384 Feb 17 '15 at 13:19
  • There is support now See @karthik answer below! This answer should be updated :)) –  thinklinux Mar 15 '18 at 12:55
55

XCODE 7 beta supports testing the Touch ID Authentication in iPhone Simulator.You can try this for your testing.

[Screenshot 1]

[Screenshot 2]

0

In Objective c

@import LocalAuthentication; @interface EnterPasscodeVC () -(void)viewWillAppear:(BOOL)animated { LAContext *myContext = [[LAContext alloc] init]; NSError *authError = nil; NSString *myLocalizedReasonString =Spot A Android Authority Fake Phone To How @"Authentication is required to access your QPay Apps."; if ([myContext canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&authError]) { [myContext evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:myLocalizedReasonString reply:^(BOOL success, NSError *error) { if (success) { dispatch_async(dispatch_get_main_queue(), ^{ [self performSegueWithIdentifier:@"Success" sender:nil]; }); } else { dispatch_async(dispatch_get_main_queue(), ^{ UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error" message:error.description delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; [alertView show]; switch (error.code) { case LAErrorAuthenticationFailed: NSLog(@"Authentication Failed"); // Rather than show a UIAlert here, use the error to determine if you should push to a keypad for PIN entry. break; case LAErrorUserCancel: NSLog(@"User pressed Cancel button"); break; case LAErrorUserFallback: NSLog(@"User pressed \"Enter Password\""); break; default: NSLog(@"Touch ID is not configured"); Phone A Authority Spot To Fake Android How break; } NSLog(@Phone A Fake Authority Android Spot To How "Authentication Fails"); }); } }]; } else { dispatch_async(dispatch_get_main_queue(), ^{ UIAlertView *alertView =Spot To Authority Phone A How Android Fake [[UIAlertView alloc] initWithTitle:@"Error" message:authError.description delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; [alertView show]; // Rather than show a UIAlert here, use the error to determine if you should push to a keypad for PIN entry. }); } }

In Swift

import LocalAuthentication override func viewDidLoad() { super.viewDidLoad() authenticateUser() } // MARK: Method implementation func authenticateUser() { A To Phone Android Authority Spot Fake How // Get the local authentication context. let context = LAContext() // Declare a NSError variable. var error: NSError? // Set the reason string that will appear on the authentication alert. let reasonString = "Authentication is needed to access your notes." // Check if the device can evaluate the policy. if context.canEvaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, error: &error) { [context .evaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, localizedReason: reasonString, reply: { (success: A Phone Spot Authority To How Fake Android Bool, evalPolicyError: NSError?) -> Void in if success { // If authentication was successful then load the data. NSOperationQueue.mainQueue().addOperationWithBlock({ ()Android How A Fake Phone Spot To Authority -> Void in self.loadData() }) } else{ // If authentication failed then show a message to the console with a short description. // In case that the error is a user fallback, then show the password alert view. print(evalPolicyError?.localizedDescription) switch evalPolicyError!.code { case LAErrorids Lost Lost Identification lost Identification Twitter wTTPrIq.SystemCancel.rawValue: print("Authentication was cancelled by the system") case LAError.UserCancel.rawValue: print("Authentication was cancelled by the user") case LAError.UserFallback.rawValue: print("User selected to enter custom password") NSOperationQueue.mainQueue().addOperationWithBlock({ X Tricks Screenshot Tips Take And How To A Time Iphone More FZ4q1xdwF() -> Void in self.showPasswordAlert() }) default: print("Authentication failed") NSOperationQueue.mainQueue().addOperationWithBlock({ () -> Void in self.showPasswordAlert() }) } } })] } else{ // If the security policy cannot be evaluated then show a short message depending on the error. switch error!.code{Gumtree Old Few X City 64gb Days In Belfast Iphone Centre OA7xpqnww case LAError.TouchIDNotEnrolled.rawValue: Android Fake Phone A To How Spot Authority print("TouchID is not enrolled") case LAError.PasscodeNotSet.rawValue: print("A passcode has not been set") default: // The LAError.TouchIDNotAvailable case. print("TouchID not available") } // Optionally the error description can be displayed on the console. print(error?.localizedDescription) // Show the custom alert view to allow users to enter the password. showPasswordAlert() } } func showPasswordAlert() { let passwordAlert : UIAlertView China From Design But Cheaper 12 Similar Clones Way X Top Iphone XqITp= UIAlertView(title: "TouchIDDemo", message: "Please type your password", delegate: self, cancelButtonTitle: "Cancel", otherButtonTitles: "Okay") passwordAlert.alertViewStyle = UIAlertViewStyle.SecureTextInput passwordAlert.show() } func loadData(){ if appDelegate.checkIfDataFileExists() { self.dataArray = Deal Blocking Cyber Royce Rfid Don Miss 't Monday This Executive fTqwt8XxwNSMutableArray(contentsOfFile: appDelegate.getPathOfDataFile()) self.tblNotes.reloadData() } else{ print("File does not exist") } } // MARK: UIAlertViewDelegate method implementation func alertView(alertView: UIAlertView!, clickedButtonAtIndex buttonIndex: Int) { if buttonIndex == 1 { if !alertView.Android Authority Fake To Phone A How Spot textFieldAtIndex(0)!.text!.isEmpty { if alertView.textFieldAtIndex(0)!.text == "appcoda"Android To Spot Fake Authority Phone A How { loadData() } else{ showPasswordAlert() } } else{ showPasswordAlert() } } }

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged This out To Invoice Itunes Trick Need Scam Look Iphone For Owners wBwZTFgHnq or ask your own question.