iOS Couldn't update the Keychain Item问题

一般用Keychain来做账号和密码的存储比较安全,大概如下:

KeychainItemWrapper *keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"MyLogin<span style="font-family: Arial, Helvetica, sans-serif; color: rgb(57, 51, 24);">" accessGroup:nil];</span>  
[keychain setObject:self.phoneText.text forKey:(__bridge id)(kSecAttrAccount)];  
[keychain setObject:self.keyText.text forKey:(__bridge id)(kSecValueData)];  

但是偶尔会突然遇到一个问题,就是爆出Couldn't update the Keychain Item的情况,然后应用直接闪退。
查了一下,加了一行代码,好像解决了问题,看之后会不会还继续出现,原理也不是很清楚。

KeychainItemWrapper *keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"MyLogin<span style="font-family: Arial, Helvetica, sans-serif;">" accessGroup:nil];</span>  
[keychain setObject:self.phoneText.text forKey:(__bridge id)(kSecAttrAccount)];  
[keychain setObject:self.keyText.text forKey:(__bridge id)(kSecValueData)];  
[keychain setObject:@"AppString" forKey: (__bridge id)kSecAttrService];  

感觉是为app加了一个标识,希望高手讲解一下。

参考stackoverflow的:http://stackoverflow.com/questions/8054285/ios-keychainitemwrapper-not-updating


查看作者首页

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容