Sicherheit wird im mobilen Raum immer wichtiger. Als iOS-Entwickler können wir viele Dinge tun. Wir sorgen dafür, dass sensible Informationen anstelle von Klartext im Schlüsselbund gespeichert werden. Wir sorgen dafür, dass Inhalte verschlüsselt werden, bevor sie an einen Remote-Server gesendet werden. Dies alles geschieht, um sicherzustellen, dass die Benutzerinformationen sicher sind. Manchmal müssen wir jedoch eine zusätzliche Schutzschicht auf Benutzeroberflächenebene hinzufügen.
Wenn das Gerät des Benutzers nicht für eine MDM-Lösung (Mobile Device Management) registriert ist, können Sie die Benutzer Ihrer Anwendung nicht dazu zwingen, eine Kennwortsperre auf Geräteebene einzurichten und zu verwenden. ABPadLockScreen bietet jedoch eine stilvolle und schnelle Möglichkeit, eine solche Schnittstelle zu Ihrer iOS-Anwendung hinzuzufügen. Lassen Sie mich Ihnen zeigen, wie Sie ABPadLockScreen in Ihren iOS-Anwendungen nutzen können.
ABPadLockScreen ist auf GitHub verfügbar, ich empfehle jedoch die Installation mit CocoaPods. Wenn Sie mit CocoaPods noch nicht begonnen haben, Abhängigkeiten in Ihren iOS- und OS X-Projekten zu verwalten, sollten Sie noch heute beginnen. Es ist der beste Weg, Abhängigkeiten in Cocoa-Projekten zu verwalten. Da es in diesem Tutorial nicht um CocoaPods geht, werde ich nicht näher auf die Installation von ABPadLockScreen mit CocoaPods eingehen, aber Sie können viel mehr darüber auf der CocoaPods-Website lesen oder unser Einführungs-Tutorial zu Tuts lesen+.
Wenn Sie ABPadLockScreen lieber manuell installieren möchten, ist das auch in Ordnung. Laden Sie den Quellcode auf GitHub herunter oder klonen Sie ihn und kopieren Sie die Dateien in ABPadLockScreen Ordner in Ihrem Xcode-Projekt.
Die Bibliothek umfasst zwei UIViewController
Unterklassen. Das ABPadLockScreenSetupViewController
Klasse ist so konzipiert, dass der Benutzer die ursprüngliche PIN eingeben kann. Dies ist so einfach wie das Initialisieren einer neuen Instanz des View-Controllers, das Übergeben eines Delegaten und das modulare Darstellen des View-Controllers.
- (IBAction) setPin: (id) sender ABPadLockScreenSetupViewController * lockScreen = [[ABPadLockScreenSetupViewController-Zuordnung] initWithDelegate: self pinLength: 5]; lockScreen.modalPresentationStyle = UIModalPresentationFullScreen; lockScreen.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; [self presentViewController: lockScreen animiert: JA Abschluss: nil];
Das ABPadLockScreenSetupViewControllerDelegate
Protokoll hat eine erforderliche Methode, die aufgerufen wird, wenn die PIN erfolgreich gesetzt wurde.
- (void) pinSet: (NSString *) pin padLockScreenSetupViewController: (ABPadLockScreenSetupViewController *) padLockScreenViewController;
Das Einrichten einer PIN ist nur dann sinnvoll, wenn der Benutzer die Möglichkeit hat, die PIN einzugeben, um Zugriff auf die Anwendung zu erhalten. Wenn Sie bereit sind, die Anwendung zu sichern, müssen Sie lediglich eine Instanz der ABPadLockScreenViewController
Klasse, ordnen Sie einen Delegaten, einen Pin und präsentieren Sie den View-Controller modal.
- (IBAction) lockApp: (id) sender ABPadLockScreenViewController * lockScreen = [[Zuweisung ABPadLockScreenViewController] initWithDelegate: self pin: self.pin]; [lockScreen setAllowedAttempt: 3]; lockScreen.modalPresentationStyle = UIModalPresentationFullScreen; lockScreen.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; [self presentViewController: lockScreen animiert: JA Abschluss: nil];
Wenn Sie das einstellen erlaubtAttempts
In dieser Eigenschaft hat der Benutzer nur eine vordefinierte Anzahl von Versuchen, bevor das Modul sie sperrt. Ob erlaubtAttempts
nicht gesetzt ist, kann der Benutzer versuchen, eine PIN so oft einzugeben, wie er möchte.
Der Delegierte der ABPadLockScreenViewController
Instanz muss dem entsprechen ABPadLockScreenViewControllerDelegate
Protokoll, das vier Delegatmethoden deklariert.
- (void) unlockWasSuccessfulForPadLockScreenViewController: (ABPadLockScreenViewController *) padLockScreenViewController; - (void) unlockWasUnsuccessful: (NSString *) falsePin afterAttemptNumber: (NSInteger) VersuchNummer padLockScreenViewController: (ABPadLockScreenViewController *) padLockScreenViewController; - (void) unlockWasCancelledForPadLockScreenViewController: (ABPadLockScreenViewController *) padLockScreenViewController; - (void) VersucheExpiredForPadLockScreenViewController: (ABPadLockScreenViewController *) padLockScreenViewController;
Die Methoden sind ziemlich selbsterklärend. Sie können einen Rückruf für eine erfolgreiche Entsperrung erhalten, einen erfolglosen Eintrag, eine Stornierung (sofern zulässig) und wenn die Versuche des Benutzers abgelaufen sind, die maximal zulässige Anzahl von Versuchen erreicht haben.
Es gibt mehrere Möglichkeiten, die Benutzeroberfläche des Sperrbildschirms und sein Verhalten anzupassen. Sie können:
4
standardmäßig0
oder eine unbegrenzte Anzahl von VersuchenAbgesehen davon kann die Benutzeroberfläche sehr einfach angepasst werden. Die Bibliothek verwendet die UIA Auftritt
API zum Anpassen der Benutzeroberfläche des Sperrbildschirms. Alles, von Hintergrund, Textfarbe, Auswahlfarbe und Schriftarten, kann so eingestellt werden, dass es dem Design Ihrer Anwendung entspricht.
[[ABPadLockScreenView-Darstellung] setLabelColour: [UIColor colorWithHexValue: @ "DB4631"]]; [[ABPadLockScreenView-Darstellung] setBackgroundColor: [UIColor colorWithHexValue: @ "282B35"]];
Schauen Sie sich die Ansichtsklassen an, ABPadLockScreenView
, ABPadButton
, und ABPinSelectionView
, um zu sehen, was die Ansichtsnamen sind.
In diesem kurzen Tipp haben wir kurz beschrieben, wie Sie Ihre iOS-Anwendung etwas sicherer machen können, indem Sie der Benutzeroberfläche einen Sperrbildschirm hinzufügen. Ich hoffe, Sie finden die Bibliothek nützlich und einfach zu bedienen. Glückliche Kodierung.