iOS模拟器使用钥匙串不能写入值

xiaocao000 发布于 2014/02/18 10:06
阅读 4K+
收藏 0

确认使用的是SecItem.h中定义的KEY, 声明如此

KeychainItemWrapper keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"MerchantAccountNumber"
                                         accessGroup:@"com.tr-gr.Merchant"];

[wrapper setObject:self.IDFV forKey:(__bridge id)kSecAttrDescription];

问题是:如果选用 iPhone retina(4-inch 64bit) 编译运行都OK, 但选用iPhone retina(3.5-inch) 或者 iPhone retina(4-inch) 编译通过, 运行时报错如下:

*** Assertion failure in -[KeychainItemWrapper writeToKeychain], /

KeychainItemWrapper.m:354
2014-02-18 09:59:39.364 Merchant[1517:a0b] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Couldn't add the Keychain Item.'


代码都一样的, 为何选择不同的模拟器设备, 运行就出错了呢? 大家有遇到过吗?

加载中
0
xiaocao000
xiaocao000

问题解决,  KeyChain内部以kSecAttrAccount 与kSecAttrService作为唯一钥匙串标识,


传送门 http://stackoverflow.com/questions/4891562/ios-keychain-services-only-specific-values-allowed-for-ksecattrgeneric-key

返回顶部
顶部