Säkerheten blir en större och större problem i mobilutrymmet. Som IOS-utvecklare finns det många saker vi kan göra. Vi ser till att känslig information sparas i nyckelringen istället för vanlig text. Vi ser till att innehållet är krypterat innan det skickas till en fjärrserver. Allt detta görs för att säkerställa att användarens information är säker. Ibland måste vi dock lägga till ett extra skyddslag på användargränssnittet.
Om inte användarens enhet är inskriven i en MDM-lösning (Mobile Device Management), kan du inte tvinga programmets användare att konfigurera och använda ett lösenordslås på enhetens nivå. ABPadLockScreen ger dock ett snyggt och snabbt sätt att lägga till ett sådant gränssnitt till din iOS-applikation. Låt mig visa dig hur du kan utnyttja ABPadLockScreen i dina iOS-applikationer.
ABPadLockScreen finns på GitHub, men jag rekommenderar att du installerar den med CocoaPods. Om du inte har börjat använda CocoaPods för hantering av beroenden i dina iOS- och OS X-projekt, bör du verkligen börja idag. Det är det bästa sättet att hantera dependancies i kakaoprojekt. Eftersom denna handledning inte handlar om CocoaPods kommer jag inte att gå in i detaljerna om att installera ABPadLockScreen med CocoaPods, men du kan läsa mycket mer om det på CocoaPods hemsida eller läsa vår inledande handledning om Tuts+.
Om du föredrar att installera ABPadLockScreen manuellt, så är det bra också. Hämta eller klon källkoden på GitHub och kopiera filerna i ABPadLockScreen mapp i ditt Xcode-projekt.
Biblioteket innehåller två UIViewController
underklasser. De ABPadLockScreenSetupViewController
klassen är utformad för att tillåta användaren att ange sin ursprungliga pin. Detta är lika enkelt som att initiera en ny instans av visningsstyrenheten, passera en delegat och presentera visningsstyrenheten modellt.
- (IBAction) setPin: (id) avsändare ABPadLockScreenSetupViewController * lockScreen = [[ABPadLockScreenSetupViewController tilldela] initWithDelegate: self pinLength: 5]; lockScreen.modalPresentationStyle = UIModalPresentationFullScreen; lockScreen.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; [self presentViewController: lockScreen animerad: JA slutförd: noll];
De ABPadLockScreenSetupViewControllerDelegate
protokollet har en krävs metod, som påkallas när stiftet är korrekt inställt.
- (void) pinSet: (NSString *) pin padLockScreenSetupViewController: (ABPadLockScreenSetupViewController *) padLockScreenViewController;
Att ställa in en stift är inte särskilt användbar om inte användaren får chansen att skriva in den för att få tillgång till programmet. När du är redo att säkra programmet är allt du behöver göra att presentera en förekomst av ABPadLockScreenViewController
klass, tilldela en delegat, en PIN-kod och presentera att han visar kontrollen modellt.
- (IBAction) lockApp: (id) avsändare ABPadLockScreenViewController * lockScreen = [[ABPadLockScreenViewController tilldela] initWithDelegate: self pin: self.pin]; [lockScreen setAllowedAttempts: 3]; lockScreen.modalPresentationStyle = UIModalPresentationFullScreen; lockScreen.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; [self presentViewController: lockScreen animerad: JA slutförd: noll];
Om du ställer in allowedAttempts
egendom, kommer användaren bara ha ett fördefinierat antal försök innan modulen låser dem ut. Om allowedAttempts
är inte inställd så kan användaren försöka ange en stift så många gånger som hon vill ha.
Delegaten för ABPadLockScreenViewController
Exempel måste överensstämma med ABPadLockScreenViewControllerDelegate
protokoll, som deklarerar fyra delegerade metoder.
- (void) unlockWasSuccessfulForPadLockScreenViewController: (ABPadLockScreenViewController *) padLockScreenViewController; - (void) unlockWasUnsuccessful: (NSString *) falsePin afterAttemptNumber: (NSInteger) attemptNumber padLockScreenViewController: (ABPadLockScreenViewController *) padLockScreenViewController; - (void) unlockWasCancelledForPadLockScreenViewController: (ABPadLockScreenViewController *) padLockScreenViewController; - (void) försökExpiredForPadLockScreenViewController: (ABPadLockScreenViewController *) padLockScreenViewController;
Metoderna är ganska självförklarande. Du kan få en återuppringning för ett framgångsrikt upplåsning, en misslyckad post, en annullering-det som är tillåtet- och om användarens försök har löpt ut nådde de maximala tillåtna försöken.
Det finns flera sätt att anpassa gränssnittet för låsskärmen och dess beteende. Du kan:
4
som standard0
eller ett obegränsat antal försökUtöver detta kan användargränssnittet också anpassas mycket enkelt. Biblioteket använder UIAppearance
API för att anpassa användargränssnittet för låsskärmen. Allt från bakgrunden, textfärg, urvalsfärg och teckensnitt kan ställas in för att matcha din applikationsdesign.
[[ABPadLockScreenView utseende] setLabelColour: [UIColor colorWithHexValue: @ "DB4631"]]; [[ABPadLockScreenView utseende] setBackgroundColor: [UIColor colorWithHexValue: @ "282B35"]];
Kolla in visningstiderna, ABPadLockScreenView
, ABPadButton
, och ABPinSelectionView
, för att se vad visningsnamnen är.
I det här snabba tipset har vi kortfattat täckt hur du gör din iOS-applikation lite säkrare genom att lägga till en låsskärm till användargränssnittet. Jag hoppas att du hittar biblioteket användbart och enkelt att använda. Lycklig kodning.