iOS8: Integrare il Touch ID e impronte digitali nelle proprie app “Versione Swift”

iPhone-5s-Touch-ID

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]

download_esempio-300x120