在不同视图中访问钥匙串元素
问题描述:
我使用多视图,选项卡式应用。从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。但是,当我尝试从FirstViewController访问钥匙串时,即使在执行#import'KeychainItemWrapper.h'后,我也收到一个错误消息,说我正在使用未声明的标识符'keychainItem'。
NSString *mdp = [keychainItem objectForKey:(__bridge id)(kSecValueData)];
NSString *username = [keychainItem objectForKey:(__bridge id)(kSecAttrAccount)];
如何从另一个视图访问存储在钥匙串中的信息?是否有更好的解决方案(例如,全局变量?)来检查用户是否登录?
答
这听起来像你只需要在你的FirstViewController
初始化的KeychainItemWrapper
实例......只是做:
KeychainItemWrapper *keychainItem = [[KeychainItemWrapper alloc] initWithIdentifier:@"LoginInfos" accessGroup:nil];
再次尝试从中检索值之前。