From 57eb73c2395169bcb13a5c8bb30bdcdc78564aaa Mon Sep 17 00:00:00 2001 From: Nakagami Mai Date: Tue, 5 Oct 2021 22:51:37 +0900 Subject: [PATCH 1/8] =?UTF-8?q?=E8=A8=AD=E5=AE=9A=E7=94=BB=E9=9D=A2?= =?UTF-8?q?=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Setting Controller.m | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 Setting Controller.m diff --git a/Setting Controller.m b/Setting Controller.m new file mode 100644 index 0000000..4511269 --- /dev/null +++ b/Setting Controller.m @@ -0,0 +1,8 @@ +// +// Setting Controller.m +// OneTimePasswordExample +// +// Created by 岡慶太郎 on 2021/09/28. +// + +#import From 977e215741d9b48c00b4e4b035c4d0969e402184 Mon Sep 17 00:00:00 2001 From: Nakagami Mai Date: Thu, 7 Oct 2021 00:17:18 +0900 Subject: [PATCH 2/8] =?UTF-8?q?=E3=82=A2=E3=83=AB=E3=82=B4=E3=83=AA?= =?UTF-8?q?=E3=82=BA=E3=83=A0=E3=82=92=E9=81=B8=E6=8A=9E=E3=81=A7=E3=81=8D?= =?UTF-8?q?=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E3=81=99=E3=82=8B=E3=80=80?= =?UTF-8?q?=E3=83=89=E3=83=A9=E3=83=A0=E3=81=AE=E8=A1=8C=E6=95=B0=E3=81=AE?= =?UTF-8?q?=E6=8C=87=E5=AE=9A=E3=81=A7=E3=82=A8=E3=83=A9=E3=83=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OneTimePasswordExample/SettingController.m | 23 +++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/OneTimePasswordExample/SettingController.m b/OneTimePasswordExample/SettingController.m index aa89580..8580e35 100644 --- a/OneTimePasswordExample/SettingController.m +++ b/OneTimePasswordExample/SettingController.m @@ -48,9 +48,9 @@ - (void)viewDidLoad { self.pickerView.delegate = self; [self.view addSubview: self.pickerView]; - self.test1Patterns = @[@"1", @"2", @"3"]; - self.test2Patterns = @[@"4", @"5", @"6"]; - self.test3Patterns = @[@"7", @"8", @"9"]; + self.test1Patterns = @[@"SHA1", @"SHA256", @"SHA512"]; + self.test2Patterns = @[@"4", @"5", @"6", @"7", @"8", @"9", @"10"]; + self.test3Patterns = @[@"30", @"60"]; self.test1 = self.test1Patterns[0]; self.test2 = self.test2Patterns[0]; @@ -72,15 +72,15 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N switch (indexPath.row) { case 0: - cell.titleLabel.text = @"TEST1"; + cell.titleLabel.text = @"アルゴリズム"; cell.valueLabel.text = self.test1; break; case 1: - cell.titleLabel.text = @"TEST2"; + cell.titleLabel.text = @"OTP桁数"; cell.valueLabel.text = self.test2; break; case 2: - cell.titleLabel.text = @"TEST3"; + cell.titleLabel.text = @"タイムステップ数"; cell.valueLabel.text = self.test3; break; } @@ -103,7 +103,16 @@ - (NSInteger)numberOfComponentsInPickerView:(nonnull UIPickerView *)pickerView { } - (NSInteger)pickerView:(nonnull UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component { - return 3; + switch (component) { + case 0: + return self.test1Patterns.count; + case 1: + return self.test2Patterns.count; + case 2: + return self.test3Patterns.count; + default: + return 0; + } } #pragma mark - Picker view delegate From ef44b2c7c04e00e12d075db65ab36b4901a16977 Mon Sep 17 00:00:00 2001 From: Nakagami Mai Date: Mon, 11 Oct 2021 22:58:55 +0900 Subject: [PATCH 3/8] =?UTF-8?q?=E3=82=A2=E3=83=AB=E3=82=B4=E3=83=AA?= =?UTF-8?q?=E3=82=BA=E3=83=A0=E3=82=92=E9=81=B8=E6=8A=9E=E3=81=A7=E3=81=8D?= =?UTF-8?q?=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E3=81=99=E3=82=8B=20?= =?UTF-8?q?=E7=94=BB=E9=9D=A2=E4=BD=9C=E6=88=90=E5=AE=8C=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OneTimePasswordExample/SettingController.m | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/OneTimePasswordExample/SettingController.m b/OneTimePasswordExample/SettingController.m index 8580e35..a618eb3 100644 --- a/OneTimePasswordExample/SettingController.m +++ b/OneTimePasswordExample/SettingController.m @@ -37,7 +37,9 @@ @interface SettingController () @end -@implementation SettingController +@implementation SettingController { + NSIndexPath * pickerIndexPath; +} - (void)viewDidLoad { [super viewDidLoad]; @@ -91,9 +93,9 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N #pragma mark - Table view delegate - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { + self.settingsItem = indexPath.row; [self.pickerView selectRow:0 inComponent:0 animated:true]; [self.pickerView reloadAllComponents]; - self.settingsItem = indexPath.row; } #pragma mark - Picker view data source @@ -103,12 +105,12 @@ - (NSInteger)numberOfComponentsInPickerView:(nonnull UIPickerView *)pickerView { } - (NSInteger)pickerView:(nonnull UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component { - switch (component) { - case 0: + switch (self.settingsItem) { + case SettingsItem1: return self.test1Patterns.count; - case 1: + case SettingsItem2: return self.test2Patterns.count; - case 2: + case SettingsItme3: return self.test3Patterns.count; default: return 0; From e00de01b2e7b162881adf4e99d0b099dd4ee6c64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=AD=E7=A5=9E=E8=88=9E?= Date: Wed, 13 Oct 2021 23:29:17 +0900 Subject: [PATCH 4/8] =?UTF-8?q?=E3=82=A2=E3=83=AB=E3=82=B4=E3=83=AA?= =?UTF-8?q?=E3=82=BA=E3=83=A0=E3=82=92=E9=81=B8=E6=8A=9E=E3=81=A7=E3=81=8D?= =?UTF-8?q?=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E3=81=99=E3=82=8B=E5=AF=BE?= =?UTF-8?q?=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Base.lproj/Main.storyboard | 23 +++++++++++++++++-- OneTimePasswordExample/ViewController.m | 4 +++- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/OneTimePasswordExample/Base.lproj/Main.storyboard b/OneTimePasswordExample/Base.lproj/Main.storyboard index 9455976..8ddcb5e 100644 --- a/OneTimePasswordExample/Base.lproj/Main.storyboard +++ b/OneTimePasswordExample/Base.lproj/Main.storyboard @@ -35,7 +35,7 @@ - + @@ -105,10 +105,29 @@ - + + + + + + + + + + + + + + + + + + + + diff --git a/OneTimePasswordExample/ViewController.m b/OneTimePasswordExample/ViewController.m index 3dbfaaa..ff1fd30 100644 --- a/OneTimePasswordExample/ViewController.m +++ b/OneTimePasswordExample/ViewController.m @@ -36,10 +36,12 @@ - (void)initOneTimePasswordToken { NSString *name = @"..."; NSString *issuer = @"..."; NSString *secretString = @"..."; + OTPAlgorithm *algorithm = @"OTPAlgorithm algorithm"; NSData *secretData = [NSData dataWithBase32String:secretString]; - self.token = [OTPToken tokenWithType:OTPTokenTypeTimer secret:secretData name:name issuer:issuer ]; + self.token = [OTPToken tokenWithType:OTPTokenTypeTimer secret:secretData name:name issuer:issuer]; + self.token.algorithm = *algorithm; } - (void)initOneTimePasswordView { From 105e7bb4d821d00da308fa52aee9cb0b2d878450 Mon Sep 17 00:00:00 2001 From: Nakagami Mai Date: Thu, 14 Oct 2021 23:48:58 +0900 Subject: [PATCH 5/8] =?UTF-8?q?=E3=82=A2=E3=83=AB=E3=82=B4=E3=83=AA?= =?UTF-8?q?=E3=82=BA=E3=83=A0=E3=82=92=E6=8A=9E=E3=81=A7=E3=81=8D=E3=82=8B?= =?UTF-8?q?=E3=82=88=E3=81=86=E3=81=AB=E3=81=99=E3=82=8B=E5=AF=BE=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Base.lproj/Main.storyboard | 65 +++++++++++++++---- OneTimePasswordExample/SettingController.h | 4 ++ OneTimePasswordExample/SettingController.m | 8 +-- OneTimePasswordExample/ViewController.h | 2 +- OneTimePasswordExample/ViewController.m | 5 +- 5 files changed, 63 insertions(+), 21 deletions(-) diff --git a/OneTimePasswordExample/Base.lproj/Main.storyboard b/OneTimePasswordExample/Base.lproj/Main.storyboard index 8ddcb5e..a72e003 100644 --- a/OneTimePasswordExample/Base.lproj/Main.storyboard +++ b/OneTimePasswordExample/Base.lproj/Main.storyboard @@ -12,7 +12,7 @@ - + @@ -35,9 +35,16 @@ - + + @@ -53,23 +60,34 @@ + + - + - + + @@ -109,26 +127,45 @@ - + + + + + + + + + + + + + + + + + + + + - - + + - - + - - - + + + - + + - + diff --git a/OneTimePasswordExample/SettingController.h b/OneTimePasswordExample/SettingController.h index 2e0ebdf..bf6b828 100644 --- a/OneTimePasswordExample/SettingController.h +++ b/OneTimePasswordExample/SettingController.h @@ -11,6 +11,10 @@ NS_ASSUME_NONNULL_BEGIN @interface SettingController : UITableViewController +@property (nonatomic) NSString *test1; +@property (nonatomic) NSString *test2; +@property (nonatomic) NSString *test3; + @end NS_ASSUME_NONNULL_END diff --git a/OneTimePasswordExample/SettingController.m b/OneTimePasswordExample/SettingController.m index a618eb3..bc91cf4 100644 --- a/OneTimePasswordExample/SettingController.m +++ b/OneTimePasswordExample/SettingController.m @@ -7,6 +7,7 @@ #import "SettingController.h" #import "SettingsTableViewCell.h" +#import "ViewController.h" #pragma mark - Settings item @@ -31,10 +32,6 @@ @interface SettingController () @property (nonatomic) NSArray *test2Patterns; @property (nonatomic) NSArray *test3Patterns; -@property (nonatomic) NSString *test1; -@property (nonatomic) NSString *test2; -@property (nonatomic) NSString *test3; - @end @implementation SettingController { @@ -133,9 +130,12 @@ - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row f } - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { + UIStoryboardSegue *segue; + ViewController *viewController = segue.destinationViewController; switch (self.settingsItem) { case SettingsItem1: self.test1 = self.test1Patterns[row]; + viewController.test.text = self.test1; break; case SettingsItem2: self.test2 = self.test2Patterns[row]; diff --git a/OneTimePasswordExample/ViewController.h b/OneTimePasswordExample/ViewController.h index 3cfd969..73dc68c 100644 --- a/OneTimePasswordExample/ViewController.h +++ b/OneTimePasswordExample/ViewController.h @@ -8,7 +8,7 @@ #import @interface ViewController : UIViewController - +@property (weak, nonatomic) IBOutlet UILabel *test; @end diff --git a/OneTimePasswordExample/ViewController.m b/OneTimePasswordExample/ViewController.m index ff1fd30..aeb6cdc 100644 --- a/OneTimePasswordExample/ViewController.m +++ b/OneTimePasswordExample/ViewController.m @@ -7,6 +7,7 @@ #import "ViewController.h" #import "OneTimePassword.h" +#import "SettingController.h" #import #import @@ -36,12 +37,12 @@ - (void)initOneTimePasswordToken { NSString *name = @"..."; NSString *issuer = @"..."; NSString *secretString = @"..."; - OTPAlgorithm *algorithm = @"OTPAlgorithm algorithm"; + SettingController *settingController; NSData *secretData = [NSData dataWithBase32String:secretString]; self.token = [OTPToken tokenWithType:OTPTokenTypeTimer secret:secretData name:name issuer:issuer]; - self.token.algorithm = *algorithm; + self.token.algorithm = @"OTPAlgorithm algorithm"; } - (void)initOneTimePasswordView { From 381b8eecc979b69a3a899ec33040df94a01b7b29 Mon Sep 17 00:00:00 2001 From: Nakagami Mai Date: Sat, 16 Oct 2021 00:08:27 +0900 Subject: [PATCH 6/8] =?UTF-8?q?=E3=82=A2=E3=83=AB=E3=82=B4=E3=83=AA?= =?UTF-8?q?=E3=82=BA=E3=83=A0=E3=82=92=E9=81=B8=E6=8A=9E=E3=81=A7=E3=81=8D?= =?UTF-8?q?=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E3=81=99=E3=82=8B=E5=AF=BE?= =?UTF-8?q?=E5=BF=9C=E3=80=80=E5=80=A4=E3=81=AE=E5=8F=97=E3=81=91=E6=B8=A1?= =?UTF-8?q?=E3=81=97=E5=AE=8C=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Base.lproj/Main.storyboard | 52 ++----------------- OneTimePasswordExample/SettingController.m | 11 ++-- OneTimePasswordExample/ViewController.h | 4 +- OneTimePasswordExample/ViewController.m | 3 +- 4 files changed, 16 insertions(+), 54 deletions(-) diff --git a/OneTimePasswordExample/Base.lproj/Main.storyboard b/OneTimePasswordExample/Base.lproj/Main.storyboard index a72e003..4ed1ae6 100644 --- a/OneTimePasswordExample/Base.lproj/Main.storyboard +++ b/OneTimePasswordExample/Base.lproj/Main.storyboard @@ -35,16 +35,9 @@ - + - @@ -64,7 +57,6 @@ - @@ -76,7 +68,7 @@ - + @@ -129,44 +121,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/OneTimePasswordExample/SettingController.m b/OneTimePasswordExample/SettingController.m index bc91cf4..a996bd6 100644 --- a/OneTimePasswordExample/SettingController.m +++ b/OneTimePasswordExample/SettingController.m @@ -130,12 +130,9 @@ - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row f } - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { - UIStoryboardSegue *segue; - ViewController *viewController = segue.destinationViewController; switch (self.settingsItem) { case SettingsItem1: self.test1 = self.test1Patterns[row]; - viewController.test.text = self.test1; break; case SettingsItem2: self.test2 = self.test2Patterns[row]; @@ -148,4 +145,12 @@ - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComp [self.tableView reloadData]; } +-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender +{ + ViewController *viewController = segue.destinationViewController; + viewController.test1 = self.test1; + viewController.test2 = self.test2; + viewController.test3 = self.test3; +} + @end diff --git a/OneTimePasswordExample/ViewController.h b/OneTimePasswordExample/ViewController.h index 73dc68c..0157d2d 100644 --- a/OneTimePasswordExample/ViewController.h +++ b/OneTimePasswordExample/ViewController.h @@ -8,7 +8,9 @@ #import @interface ViewController : UIViewController -@property (weak, nonatomic) IBOutlet UILabel *test; +@property (nonatomic) NSString *test1; +@property (nonatomic) NSString *test2; +@property (nonatomic) NSString *test3; @end diff --git a/OneTimePasswordExample/ViewController.m b/OneTimePasswordExample/ViewController.m index aeb6cdc..cb7b102 100644 --- a/OneTimePasswordExample/ViewController.m +++ b/OneTimePasswordExample/ViewController.m @@ -17,6 +17,7 @@ @interface ViewController () @property (weak, nonatomic) IBOutlet UILabel *oneTimePasswordLabel; @property (weak, nonatomic) IBOutlet UAProgressView *oneTimePasswordProgressView; +@property (weak, nonatomic) IBOutlet UILabel *test; @property (nonatomic, assign) CGFloat localProgress; @@ -31,13 +32,13 @@ - (void)viewDidLoad { [self initOneTimePasswordView]; [NSTimer scheduledTimerWithTimeInterval:0.03 target:self selector:@selector(updateOneTimePasswordView:) userInfo:nil repeats:YES]; + } - (void)initOneTimePasswordToken { NSString *name = @"..."; NSString *issuer = @"..."; NSString *secretString = @"..."; - SettingController *settingController; NSData *secretData = [NSData dataWithBase32String:secretString]; From f62e1e621f9712f278795072435825230cbe1997 Mon Sep 17 00:00:00 2001 From: Nakagami Mai Date: Fri, 29 Oct 2021 22:25:59 +0900 Subject: [PATCH 7/8] =?UTF-8?q?=E3=83=97=E3=83=AD=E3=83=91=E3=83=86?= =?UTF-8?q?=E3=82=A3=E6=9C=AA=E8=A8=AD=E5=AE=9A=E6=99=82=E3=81=AE=E5=AF=BE?= =?UTF-8?q?=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OneTimePasswordExample/ViewController.m | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/OneTimePasswordExample/ViewController.m b/OneTimePasswordExample/ViewController.m index cb7b102..c135391 100644 --- a/OneTimePasswordExample/ViewController.m +++ b/OneTimePasswordExample/ViewController.m @@ -17,10 +17,7 @@ @interface ViewController () @property (weak, nonatomic) IBOutlet UILabel *oneTimePasswordLabel; @property (weak, nonatomic) IBOutlet UAProgressView *oneTimePasswordProgressView; -@property (weak, nonatomic) IBOutlet UILabel *test; - @property (nonatomic, assign) CGFloat localProgress; - @end @implementation ViewController @@ -32,7 +29,6 @@ - (void)viewDidLoad { [self initOneTimePasswordView]; [NSTimer scheduledTimerWithTimeInterval:0.03 target:self selector:@selector(updateOneTimePasswordView:) userInfo:nil repeats:YES]; - } - (void)initOneTimePasswordToken { @@ -43,7 +39,15 @@ - (void)initOneTimePasswordToken { NSData *secretData = [NSData dataWithBase32String:secretString]; self.token = [OTPToken tokenWithType:OTPTokenTypeTimer secret:secretData name:name issuer:issuer]; - self.token.algorithm = @"OTPAlgorithm algorithm"; + if (_test1 != nil) { + self.token.algorithm = _test1; + } + if (_test2 != nil) { + self.token.digits = [_test2 intValue]; + } + if (_test3 != nil) { + self.token.period = [_test3 intValue]; + } } - (void)initOneTimePasswordView { @@ -69,5 +73,4 @@ - (void)updateOneTimePasswordView:(NSTimer *)timer { _localProgress = newProgress; [self.oneTimePasswordProgressView setProgress:_localProgress animated:NO]; } - @end From 8605a175dc029aac7ce124ebf6ccb5849c6c85e2 Mon Sep 17 00:00:00 2001 From: Nakagami Mai Date: Tue, 9 Nov 2021 14:55:12 +0900 Subject: [PATCH 8/8] =?UTF-8?q?PR=E6=8C=87=E6=91=98=E4=BA=8B=E9=A0=85?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OneTimePasswordExample/SettingController.h | 4 -- OneTimePasswordExample/SettingController.m | 76 ++++++++++++---------- OneTimePasswordExample/ViewController.h | 6 +- OneTimePasswordExample/ViewController.m | 23 +++++-- Setting Controller.m | 8 --- 5 files changed, 59 insertions(+), 58 deletions(-) delete mode 100644 Setting Controller.m diff --git a/OneTimePasswordExample/SettingController.h b/OneTimePasswordExample/SettingController.h index bf6b828..2e0ebdf 100644 --- a/OneTimePasswordExample/SettingController.h +++ b/OneTimePasswordExample/SettingController.h @@ -11,10 +11,6 @@ NS_ASSUME_NONNULL_BEGIN @interface SettingController : UITableViewController -@property (nonatomic) NSString *test1; -@property (nonatomic) NSString *test2; -@property (nonatomic) NSString *test3; - @end NS_ASSUME_NONNULL_END diff --git a/OneTimePasswordExample/SettingController.m b/OneTimePasswordExample/SettingController.m index a996bd6..312497b 100644 --- a/OneTimePasswordExample/SettingController.m +++ b/OneTimePasswordExample/SettingController.m @@ -12,9 +12,9 @@ #pragma mark - Settings item typedef NS_ENUM(UInt8, SettingsItem) { - SettingsItem1, - SettingsItem2, - SettingsItme3, + AlgorithmItem, + DigitsItem, + PeriodItme, }; extern SettingsItem SettingsItemUnknown; @@ -28,9 +28,13 @@ @interface SettingController () @property (nonatomic) UIPickerView *pickerView; -@property (nonatomic) NSArray *test1Patterns; -@property (nonatomic) NSArray *test2Patterns; -@property (nonatomic) NSArray *test3Patterns; +@property (nonatomic) NSArray *algorithmPatterns; +@property (nonatomic) NSArray *digitsPatterns; +@property (nonatomic) NSArray *periodPatterns; + +@property (nonatomic) NSString *algorithm; +@property (nonatomic) NSString *digits; +@property (nonatomic) NSString *period; @end @@ -47,13 +51,13 @@ - (void)viewDidLoad { self.pickerView.delegate = self; [self.view addSubview: self.pickerView]; - self.test1Patterns = @[@"SHA1", @"SHA256", @"SHA512"]; - self.test2Patterns = @[@"4", @"5", @"6", @"7", @"8", @"9", @"10"]; - self.test3Patterns = @[@"30", @"60"]; + self.algorithmPatterns = @[@"SHA1", @"SHA256", @"SHA512"]; + self.digitsPatterns = @[@"4", @"5", @"6", @"7", @"8", @"9", @"10"]; + self.periodPatterns = @[@"30", @"60"]; - self.test1 = self.test1Patterns[0]; - self.test2 = self.test2Patterns[0]; - self.test3 = self.test3Patterns[0]; + self.algorithm = self.algorithmPatterns[0]; + self.digits = self.digitsPatterns[0]; + self.period = self.periodPatterns[0]; } #pragma mark - Table view data source @@ -72,15 +76,15 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N switch (indexPath.row) { case 0: cell.titleLabel.text = @"アルゴリズム"; - cell.valueLabel.text = self.test1; + cell.valueLabel.text = self.algorithm; break; case 1: cell.titleLabel.text = @"OTP桁数"; - cell.valueLabel.text = self.test2; + cell.valueLabel.text = self.digits; break; case 2: cell.titleLabel.text = @"タイムステップ数"; - cell.valueLabel.text = self.test3; + cell.valueLabel.text = self.period; break; } @@ -103,12 +107,12 @@ - (NSInteger)numberOfComponentsInPickerView:(nonnull UIPickerView *)pickerView { - (NSInteger)pickerView:(nonnull UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component { switch (self.settingsItem) { - case SettingsItem1: - return self.test1Patterns.count; - case SettingsItem2: - return self.test2Patterns.count; - case SettingsItme3: - return self.test3Patterns.count; + case AlgorithmItem: + return self.algorithmPatterns.count; + case DigitsItem: + return self.digitsPatterns.count; + case PeriodItme: + return self.periodPatterns.count; default: return 0; } @@ -118,12 +122,12 @@ - (NSInteger)pickerView:(nonnull UIPickerView *)pickerView numberOfRowsInCompone - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component { switch (self.settingsItem) { - case SettingsItem1: - return self.test1Patterns[row]; - case SettingsItem2: - return self.test2Patterns[row]; - case SettingsItme3: - return self.test3Patterns[row]; + case AlgorithmItem: + return self.algorithmPatterns[row]; + case DigitsItem: + return self.digitsPatterns[row]; + case PeriodItme: + return self.periodPatterns[row]; } return @""; @@ -131,14 +135,14 @@ - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row f - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { switch (self.settingsItem) { - case SettingsItem1: - self.test1 = self.test1Patterns[row]; + case AlgorithmItem: + self.algorithm = self.algorithmPatterns[row]; break; - case SettingsItem2: - self.test2 = self.test2Patterns[row]; + case DigitsItem: + self.digits = self.digitsPatterns[row]; break; - case SettingsItme3: - self.test3 = self.test3Patterns[row]; + case PeriodItme: + self.period = self.periodPatterns[row]; break; } @@ -148,9 +152,9 @@ - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComp -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { ViewController *viewController = segue.destinationViewController; - viewController.test1 = self.test1; - viewController.test2 = self.test2; - viewController.test3 = self.test3; + viewController.algorithm = self.algorithm; + viewController.digits = self.digits; + viewController.period = self.period; } @end diff --git a/OneTimePasswordExample/ViewController.h b/OneTimePasswordExample/ViewController.h index 0157d2d..a1792da 100644 --- a/OneTimePasswordExample/ViewController.h +++ b/OneTimePasswordExample/ViewController.h @@ -8,9 +8,9 @@ #import @interface ViewController : UIViewController -@property (nonatomic) NSString *test1; -@property (nonatomic) NSString *test2; -@property (nonatomic) NSString *test3; +@property (nonatomic) NSString *algorithm; +@property (nonatomic) NSString *digits; +@property (nonatomic) NSString *period; @end diff --git a/OneTimePasswordExample/ViewController.m b/OneTimePasswordExample/ViewController.m index c135391..69b256e 100644 --- a/OneTimePasswordExample/ViewController.m +++ b/OneTimePasswordExample/ViewController.m @@ -18,17 +18,19 @@ @interface ViewController () @property (weak, nonatomic) IBOutlet UILabel *oneTimePasswordLabel; @property (weak, nonatomic) IBOutlet UAProgressView *oneTimePasswordProgressView; @property (nonatomic, assign) CGFloat localProgress; +@property (nonatomic) float scheduledTimerWithTimeInterval; @end @implementation ViewController + - (void)viewDidLoad { [super viewDidLoad]; [self initOneTimePasswordToken]; [self initOneTimePasswordView]; - [NSTimer scheduledTimerWithTimeInterval:0.03 target:self selector:@selector(updateOneTimePasswordView:) userInfo:nil repeats:YES]; + [NSTimer scheduledTimerWithTimeInterval:self.scheduledTimerWithTimeInterval target:self selector:@selector(updateOneTimePasswordView:) userInfo:nil repeats:YES]; } - (void)initOneTimePasswordToken { @@ -39,14 +41,19 @@ - (void)initOneTimePasswordToken { NSData *secretData = [NSData dataWithBase32String:secretString]; self.token = [OTPToken tokenWithType:OTPTokenTypeTimer secret:secretData name:name issuer:issuer]; - if (_test1 != nil) { - self.token.algorithm = _test1; + self.scheduledTimerWithTimeInterval = 0.03f; + if (_algorithm != nil) { + NSArray *OTPAlgorithmStrings = @[@"SHA1", @"SHA256", @"SHA512"]; + self.token.algorithm = [OTPAlgorithmStrings indexOfObject:_algorithm]; } - if (_test2 != nil) { - self.token.digits = [_test2 intValue]; + if (_digits != nil) { + self.token.digits = [_digits intValue]; } - if (_test3 != nil) { - self.token.period = [_test3 intValue]; + if (_period != nil) { + self.token.period = [_period intValue]; + if([_period isEqualToString:@"60"]) { + self.scheduledTimerWithTimeInterval = 0.06f; + } } } @@ -72,5 +79,7 @@ - (void)updateOneTimePasswordView:(NSTimer *)timer { _localProgress = newProgress; [self.oneTimePasswordProgressView setProgress:_localProgress animated:NO]; + } + @end diff --git a/Setting Controller.m b/Setting Controller.m deleted file mode 100644 index 4511269..0000000 --- a/Setting Controller.m +++ /dev/null @@ -1,8 +0,0 @@ -// -// Setting Controller.m -// OneTimePasswordExample -// -// Created by 岡慶太郎 on 2021/09/28. -// - -#import