2014-01-22 3 views
0

Я использую приложение Multi View с вкладками. Из FirstViewController я использую PresentViewController для отображения LoginViewController. В LoginViewController я использую Keychain для сохранения имени пользователя и пароля, когда пользователь входит в мое приложение.Доступ к элементам брелка для ключей в другом виде

KeychainItemWrapper *keychainItem = [[KeychainItemWrapper alloc] initWithIdentifier:@"LoginInfos" accessGroup:nil]; 
        [keychainItem setObject:_password forKey:(__bridge id)(kSecValueData)]; 
        [keychainItem setObject:_pseudo forKey:(__bridge id)(kSecAttrAccount)]; 

Теперь, я хотел бы быть в состоянии проверить на FirstViewController если что-то происходит в связке ключей, и если да, то, очевидно, не отображать LoginViewController. Но когда я пытаюсь получить доступ к keychain из FirstViewController, даже после выполнения #import 'KeychainItemWrapper.h', я получаю сообщение о том, что я использую необъявленный идентификатор keychainItem.

NSString *mdp = [keychainItem objectForKey:(__bridge id)(kSecValueData)]; 
    NSString *username = [keychainItem objectForKey:(__bridge id)(kSecAttrAccount)]; 

Как я могу получить доступ к информации, хранящейся в Keychain, из другого представления? И есть ли лучшее решение (например, глобальная переменная?), Чтобы проверить, вошел ли пользователь в систему?

ответ

0

Похоже, вам просто нужно инициализировать экземпляр KeychainItemWrapper в вашем FirstViewController ... Вобще:

KeychainItemWrapper *keychainItem = [[KeychainItemWrapper alloc] initWithIdentifier:@"LoginInfos" accessGroup:nil]; 

снова, прежде чем пытаться извлечения значений из него.

Смежные вопросы