La sicurezza sta diventando una preoccupazione sempre più grande nello spazio mobile. Come sviluppatori iOS, ci sono molte cose che possiamo fare. Garantiamo che le informazioni sensibili vengano salvate nel portachiavi anziché in testo normale. Ci assicuriamo che il contenuto sia crittografato prima di essere inviato a un server remoto. Tutto ciò per assicurarsi che le informazioni dell'utente siano sicure. A volte, tuttavia, è necessario aggiungere un ulteriore livello di protezione a livello di interfaccia utente.
A meno che il dispositivo dell'utente non sia registrato in una soluzione MDM (Mobile Device Management), non è possibile forzare gli utenti dell'applicazione a impostare e utilizzare un blocco passcode a livello di dispositivo. ABPadLockScreen, tuttavia, fornisce un modo elegante e veloce per aggiungere una simile interfaccia alla tua applicazione iOS. Lascia che ti mostri come puoi sfruttare ABPadLockScreen nelle tue applicazioni iOS.
ABPadLockScreen è disponibile su GitHub, ma ti consiglio di installarlo usando CocoaPods. Se non hai iniziato a utilizzare CocoaPods per la gestione delle dipendenze nei tuoi progetti iOS e OS X, allora dovresti davvero iniziare oggi. È il modo migliore per gestire le dipendenze nei progetti Cocoa. Dato che questo tutorial non riguarda CocoaPods, non entrerò nei dettagli dell'installazione di ABPadLockScreen usando CocoaPods, ma puoi leggerne molte altre al sito Web di CocoaPods o leggere il nostro tutorial introduttivo su Tuts+.
Se si preferisce installare manualmente ABPadLockScreen, va bene anche questo. Scarica o clona il codice sorgente su GitHub e copia i file nel file ABPadLockScreen cartella nel tuo progetto Xcode.
La biblioteca include due UIViewController
sottoclassi. Il ABPadLockScreenSetupViewController
la classe è progettata per consentire all'utente di inserire il proprio pin iniziale. È semplice come inizializzare una nuova istanza del controller della vista, passare un delegato e presentare il controller della vista in modo modale.
- (IBAction) setPin: (id) sender ABPadLockScreenSetupViewController * lockScreen = [[ABPadLockScreenSetupViewController alloc] initWithDelegate: self pinLength: 5]; lockScreen.modalPresentationStyle = UIModalPresentationFullScreen; lockScreen.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; [AutoViewViewController: lockScreen animato: SÌ completamento: nil];
Il ABPadLockScreenSetupViewControllerDelegate
il protocollo ha un metodo obbligatorio, che viene richiamato quando il pin viene impostato correttamente.
- (void) pinSet: (NSString *) pin padLockScreenSetupViewController: (ABPadLockScreenSetupViewController *) padLockScreenViewController;
L'impostazione di un pin non è molto utile a meno che l'utente non abbia la possibilità di inserirla per accedere all'applicazione. Una volta che sei pronto per proteggere l'applicazione, tutto ciò che devi fare è presentare un'istanza di ABPadLockScreenViewController
classe, assegnare un delegato, un pin e presentare modalmente il controller di visualizzazione.
- (IBAction) lockApp: (id) sender ABPadLockScreenViewController * lockScreen = [[ABPadLockScreenViewController alloc] initWithDelegate: self pin: self.pin]; [lockScreen setAllowedAttempts: 3]; lockScreen.modalPresentationStyle = UIModalPresentationFullScreen; lockScreen.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; [AutoViewViewController: lockScreen animato: SÌ completamento: nil];
Se imposti il allowedAttempts
proprietà, l'utente avrà solo un numero predefinito di tentativi prima che il modulo li blocchi. Se allowedAttempts
non è impostato, quindi l'utente può provare a inserire un pin tutte le volte che vuole.
Il delegato del ABPadLockScreenViewController
l'istanza deve essere conforme al ABPadLockScreenViewControllerDelegate
protocollo, che dichiara quattro metodi delegati.
- (void) unlockWasSuccessfulForPadLockScreenViewController: (ABPadLockScreenViewController *) padLockScreenViewController; - (void) unlockWasUnsuccessful: (NSString *) falsePin afterAttemptNumber: (NSInteger) attemptNumber padLockScreenViewController: (ABPadLockScreenViewController *) padLockScreenViewController; - (void) unlockWasCancelledForPadLockScreenViewController: (ABPadLockScreenViewController *) padLockScreenViewController; - (void) attemptExpiredForPadLockScreenViewController: (ABPadLockScreenViewController *) padLockScreenViewController;
I metodi sono abbastanza auto-esplicativi. È possibile ottenere una richiamata per uno sblocco riuscito, una voce non riuscita, una cancellazione, è consentito, e se i tentativi dell'utente sono scaduti hanno raggiunto i tentativi massimi consentiti.
Esistono diversi modi per personalizzare l'interfaccia della schermata di blocco e il suo comportamento. Puoi:
4
per impostazione predefinita0
o un numero illimitato di tentativiOltre a ciò, l'interfaccia utente può anche essere personalizzata molto facilmente. La biblioteca usa il UIAppearance
API per personalizzare l'interfaccia utente della schermata di blocco. Tutto, dallo sfondo, colore del testo, colore di selezione e caratteri, può essere impostato per adattarsi al design della tua applicazione.
[[Aspetto ABPadLockScreenView] setLabelColour: [UIColor colorWithHexValue: @ "DB4631"]]; [[Aspetto ABPadLockScreenView] setBackgroundColor: [UIColor colorWithHexValue: @ "282B35"]];
Guarda le classi di visualizzazione, ABPadLockScreenView
, ABPadButton
, e ABPinSelectionView
, per vedere quali sono i nomi delle viste.
In questo suggerimento rapido, abbiamo brevemente spiegato come rendere l'applicazione iOS un po 'più sicura aggiungendo una schermata di blocco all'interfaccia utente. Spero che tu trovi la libreria utile e facile da usare. Buona programmazione.