Ciao a tutti cari amici di iProg qualche ora fa il mio collega Fabio ha scritto un tutorial molto interessante su come utilizzare il framework LocalAuthentication (l’articolo è consultabile presso il seguente link ). Poichè Fabio ha scritto l’articolo utilizzando come linguaggio l’ Objective-C credo che sia un idea carina fare una “traduzione” nel linguaggio swift. Tengo a precisare che in questo articolo non ho intenzione di riscrivere di nuovo tutto dall’inizio ma intendo solo riscrivere il codice in Swift. Quindi una volta creato il nostro progetto e inserito un nuovo bottone all’interno della nostra view il codice da scrivere nella classe ViewController è il seguente:
[code lang=”obj-c”]
import LocalAuthentication
class ViewController: UIViewController {
var context = LAContext()
var error = NSErrorPointer()
var alert = UIAlertView()
@IBAction func authenticate(sender: AnyObject) {
if(context.canEvaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, error: error)){
context.evaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, localizedReason: "Sei il Proprietario?", reply: { (success: Bool, error: NSError?) -> Void in
if (error != nil){
self.alert = UIAlertView(title: "Error", message: "C’è stato un problema nel verificare la tua identità", delegate: nil, cancelButtonTitle: "ok")
self.alert.show()
return
}
if success {
self.alert = UIAlertView(title: "Success", message: "Sei il proprietario", delegate: nil, cancelButtonTitle: "ok")
self.alert.show()
}
else{
self.alert = UIAlertView(title: "Error", message: "Error non sei il proprietario", delegate: nil, cancelButtonTitle: "ok")
self.alert.show()
}
})
}
else{
self.alert = UIAlertView(title: "Error", message: " Il tuo dispositivo non è in grado di autenticare usando TouchID", delegate: nil, cancelButtonTitle: "ok")
self.alert.show()
}
}
//Codice di default ….
[/code]