Проверить, есть ли вход в систему элемент доступен брелок
Я хочу проверить, существует ли ключевой элемент, если да, то мое приложение должно пропустить контроллер представления журнала и показать контроллер основного вида. но я продолжаю получать инструкции if, даже я запускаю приложение в первый раз, который еще не сохранен в цепочке ключей в журнале в контроллере представления.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//******* set the start page to login viewController to recipestablesviewController *******
keychain=[[KeychainItemWrapper alloc]initWithIdentifier:@" MyuniqueIdentifeirkeychain" accessGroup:nil];
bool isLoggedIn= ([[keychain objectForKey:(__bridge id)kSecValueData]) ? true:false;
NSString *storyboardId = isLoggedIn ? @"MainIdentifier" : @"LoginIdentifier";
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *initViewController = [storyboard instantiateViewControllerWithIdentifier:storyboardId];
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.rootViewController = initViewController;
[self.window makeKeyAndVisible];
return YES;
}
вот мой код в моем логине viewController для сохранения моего элемента цепочки для ключей:
NSString *authentication_token=[token valueForKey:@"auth_token"];
keychain=[[KeychainItemWrapper alloc]initWithIdentifier:@"Hyper_recipes" accessGroup:nil];
[keychain setObject:authentication_token forKey:(__bridge id)(kSecValueData)];
Кто-нибудь знает причину? Когда я отлаживаю что-то внутри kSecValueData. Хотя я не сохранил в нем ничего внутри приложения.
1 ответ
По словам Арияйи. Вы должны очистить связку ключей, когда вы выходите из приложения. Использование:
- (void)resetKeychainItem;
После вы можете сделать свой тест.