Compatibile con Xcode 8

Come implementare Face ID e Touch ID: la sicurezza dell’autenticazione biometrica.

A cura di Mabur

ENTRA NEL NOSTRO GRUPPO FACEBOOK

Niente è più sicura di un’impronta digitale. Se la firma può essere copiata o emulate, a meno che non vi stacchino un dito, l’impronta digitale è ciò di più unico che un essere umano possegga.

L’autenticazione tramite impronta digitale o Touch ID, una vera rivoluzione sulla sicurezza delle informazioni, fa la sua comparsa sull’iPhone 5S nell’ormai lontano Settembre 2013.

Ha da subito fatto scalpore, c’era chi si è fidato immediatamente e l’ha trovata una vera innovazione per la sicurezza e chi ha iniziato a dubitarne.

Il motivo principale? dove vengono salvate le impronte digitali di milioni di utenti? Fortunatamente Apple ha subito chiarito che i dati della nostra impronta (criptati) sarebbero stati contenuti all’interno del Chip A7 (quindi sul nostro device) e non sarebbero stati spediti sui server Apple o, addirittura, utilizzati da agenzie segrete e da programmi di spionaggio come molti ipotizzavano.

Scetticismo a parte, io trovo il Touch ID una cosa fantastica. Non c’è cosa migliore. Sapere che io e solo io posso accedere al mio device, che posso acquistare sullo Store senza password, e che posso proteggere contenuti “personali” grazie a questo tipo di sicurezza, rende la vita di qualsiasi persona più semplice e meno soggetta ad ansia.

Se prima la tua ragazza poteva rubarti la password e vedere le conversazioni segrete, da adesso gli sarà impossibile!

Scherzi a parte! La sicurezza delle informazioni è fondamentale ed ecco perché oggi voglio farti vedere come inserire il Touch ID nella tua applicazione utilizzando il linguaggio Swift.

Ecco il risultato finale! 

TouchID

Cosa imparerai da questo tutorial

Imparerai a creare un’applicazione che al suo avvio ti richiederà di autenticarti tramite il sensore di impronte digitali (il Touch ID) per poterti riconoscere e iniziare a utilizzare l’app, se fallirà la lettura ti verra chiesta la password.

Il tutorial è stato creato con Xcode 7 (beta 5) e utilizza Swift 2.0, se non conosci Swift, puoi impararlo gratuitamente con il corso di Peppe!!

Utilizzare il Touch ID in Swift

Iniziamo a creare un nuovo progetto (una Single View Application), diamogli un nome, ad esempio TutorialTouchID e salviamo in una cartella a piacimento. Non sai come creare un nuovo progetto? inizia da qui!

OK! Ora selezioniamo il nostro file ViewController.swift (lo trovi nella parte sinistra della schermata di xCode7) e iniziamo dall’importare il Framework che contiene i controlli del nostro Touch ID che si chiama LocalAuthentication. 

Posizioniamoci appena sotto al codice import Uikit e scriviamo: import LocalAuthentication come vedi nel codice qua sotto:

Ora iniziamo creando una funzione che chiameremo autenticazioneUtente che conterrà il codice necessario sia per la gestione della richiesta del Touch ID, ma anche degli altri casi, come vedrai nel codice qua sotto.

Ho cercato di commentarlo direttamente sul codice così è più ordinato e riesco a capire sempre che cosa fa e in che punto, è un’ottimo metodo per il debug soprattutto quando ci sono errori nel codice e diventa difficile trovarli.

Metti questa parte di codice subito sotto la funzione “override func didReceiveMemoryWarning()”:

Una volta creata la funzione che controlla, sia il sensore di impronte sia la gestione della richiesta della password, creiamo ora un’altra funzione che si occuperà di gestire, creare e mostrare gli alert, la chiamiamo mostraAlertPassword anche in questo caso il codice qua sotto è commentato così da essere più chiaro possibile, bello no? Evviva il codice commentato! Mettiamo questo codice subito dopo la funzione appena creata:

Per finire..

Ora basta richiamare la funzione autenticazioneUtente all’avvio dell’ app, e per farlo inserisco questo codice all’interno della funzione viewDidLoad.

Simulare il Touch ID dal simulatore

Beh.. tecnicamente abbiamo fatto tutto, ma come lo proviamo questo tutorial se il simulatore non ha il sensore delle impronte?

Meno male che Apple ha pensato proprio a tutto.

Appena avviata l’applicazione, vai sul menu del simulatore. Voce Hardware e metti la spunta su Touch ID Enrolled, una volta abilitato potrai sempre dalla voce sottostante, Simulate Finger Touch, selezionare con Matching la simulazione dell’avvenuta lettura corretta dell’impronta, e con Non-matching l’errore di lettura dell’impronta. Potrai così continuare la simulazione della tua applicazione:

SimulatoreTouchID

Considerazioni

Ottimo, direi che a questo punto ci siamo.

Hai inserito il Touch ID in Swift nella tua applicazione. Naturalmente invece che stampare a schermo le varie situazioni che accadono, puoi sbizzarrirti a gestirle mandando il messaggio che preferisci magari utilizzando un Alert View.

Una cosa è comunque certa, nessuno potrà avviare la tua applicazione senza un il tuo dito!

Enjoy :)

Start typing and press Enter to search

BlurEffect e VisualEffect con SwiftCome implementare il Facebook social login in Swift