La sécurité devient une préoccupation de plus en plus grande dans l’espace mobile. En tant que développeurs iOS, nous pouvons faire beaucoup de choses. Nous nous assurons que les informations sensibles sont enregistrées dans le trousseau au lieu du texte brut. Nous nous assurons que le contenu est crypté avant d'être envoyé à un serveur distant. Tout cela est fait pour s'assurer que les informations de l'utilisateur sont sécurisées. Cependant, il est parfois nécessaire d’ajouter une couche de protection supplémentaire au niveau de l’interface utilisateur..
Sauf si le périphérique de l'utilisateur est inscrit dans une solution de gestion des périphériques mobiles (MDM), vous ne pouvez pas obliger les utilisateurs de votre application à configurer et à utiliser un verrou par mot de passe au niveau du périphérique. Cependant, ABPadLockScreen offre un moyen élégant et rapide d’ajouter une telle interface à votre application iOS. Laissez-moi vous montrer comment utiliser ABPadLockScreen dans vos applications iOS.
ABPadLockScreen est disponible sur GitHub, mais je recommande de l’installer à l’aide de CocoaPods. Si vous n'avez pas encore commencé à utiliser CocoaPods pour gérer les dépendances dans vos projets iOS et OS X, vous devriez vraiment commencer dès aujourd'hui. C'est la meilleure façon de gérer les dépendances dans les projets Cocoa. Puisque ce tutoriel ne concerne pas CocoaPods, je ne vais pas entrer dans les détails d'installation d'ABPadLockScreen à l'aide de CocoaPods, mais vous pouvez en lire beaucoup plus sur le site Web de CocoaPods ou lire notre tutoriel d'introduction aux Tuts.+.
Si vous préférez installer manuellement ABPadLockScreen, c'est très bien aussi. Téléchargez ou clonez le code source sur GitHub et copiez les fichiers dans le ABPadLockScreen dossier dans votre projet Xcode.
La bibliothèque comprend deux UIViewController
sous-classes. le ABPadLockScreenSetupViewController
La classe est conçue pour permettre à l'utilisateur d'entrer son NIP initial. Ceci est aussi simple que d’initialiser une nouvelle instance du contrôleur de vue, de transmettre un délégué et de présenter le contrôleur de vue de manière modale..
- (IBAction) setPin: (id) expéditeur ABPadLockScreenSetupViewController * lockScreen = [[ABPadLockScreenSetupViewController alloc] all] initWithDelegate: self pinLength: 5]; lockScreen.modalPresentationStyle = UIModalPresentationFullScreen; lockScreen.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; [self presentViewController: lockScreen animé: YES complétion: nil];
le ABPadLockScreenSetupViewControllerDelegate
Le protocole a une méthode requise, qui est invoquée lorsque la broche est définie avec succès..
- (void) pinSet: (NSString *) pin padLockScreenSetupViewController: (ABPadLockScreenSetupViewController *) padLockScreenViewController;
La configuration d’une épingle n’est pas très utile, sauf si l’utilisateur a la possibilité de la saisir pour accéder à l’application. Une fois que vous êtes prêt à sécuriser l’application, tout ce que vous avez à faire est de présenter une instance du ABPadLockScreenViewController
classe, attribuer un délégué, une broche et présenter le contrôleur de vue de manière modale.
- (IBAction) lockApp: expéditeur (id) ABPadLockScreenViewController * lockScreen = [[ABPadLockScreenViewController alloc]] initWithDelegate: self pin: self.pin]; [lockScreen setAllowedAttempts: 3]; lockScreen.modalPresentationStyle = UIModalPresentationFullScreen; lockScreen.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; [self presentViewController: lockScreen animé: YES complétion: nil];
Si vous définissez le tentatives autorisées
propriété, l'utilisateur n'aura qu'un nombre prédéfini de tentatives avant que le module ne les verrouille. Si tentatives autorisées
n'est pas défini, l'utilisateur peut alors entrer une épingle autant de fois qu'il le souhaite.
Le délégué du ABPadLockScreenViewController
par exemple doit se conformer à la ABPadLockScreenViewControllerDelegate
protocole, qui déclare quatre méthodes de délégué.
- (void) unlockWasSuccessfulForPadLockScreenViewController: (ABPadLockScreenViewController *) padLockScreenViewController; - (void) unlockWasUnsuccessful: (NSString *) falsePin afterAttemptNumber: (NSInteger) tentativeNumber padLockScreenViewController: (ABPadLockScreenViewController *) padLockScreenViewController; - (void) unlockWasCancelledForPadLockScreenViewController: (ABPadLockScreenViewController *) padLockScreenViewController; - (void) tentativesExpiredForPadLockScreenViewController: (ABPadLockScreenViewController *) padLockScreenViewController;
Les méthodes sont assez explicites. Vous pouvez obtenir un rappel pour un déverrouillage réussi, une entrée infructueuse, une annulation (c'est autorisé) et, si les tentatives de l'utilisateur ont expiré, atteindre le nombre maximal de tentatives autorisées..
Vous pouvez personnaliser l'interface de l'écran de verrouillage et son comportement de plusieurs manières. Vous pouvez:
4
par défaut0
ou un nombre illimité de tentativesEn plus de cela, l'interface utilisateur peut également être personnalisée très facilement. La bibliothèque utilise le UIAappearance
API permettant de personnaliser l'interface utilisateur de l'écran de verrouillage. Tout, depuis l'arrière-plan, la couleur du texte, la couleur de la sélection et les polices, peut être réglé pour correspondre à la conception de votre application.
[[ABPadLockScreenView Apparence] setLabelColour: [UIColor colorWithHexValue: @ "DB4631"]]; [[ABPadLockScreenView Apparence] setBackgroundColor: [UIColor colorWithHexValue: @ “282B35”]];
Découvrez les classes de vue, ABPadLockScreenView
, ABPadButton
, et ABPinSelectionView
, pour voir quels sont les noms de vue.
Dans cette astuce, nous avons brièvement expliqué comment rendre votre application iOS un peu plus sécurisée en ajoutant un écran de verrouillage à son interface utilisateur. J'espère que vous trouverez la bibliothèque utile et facile à utiliser. Bonne codage.