首先:我知道有关KeychainItemWrapper已经发布的其他问题。我读了所有这些,但我没有成功应该是一个非常简单的任务:在Keychain中存储一个值(在设备上,而不是模拟器)。我总是得到一个断言失败,“无法添加钥匙串项目。”
这是我的代码,我想获得一个uuid,如果不存在,则创建并存储一个:
+ (NSString *)getDeviceID{
KeychainItemWrapper * keychain = [[[KeychainItemWrapper alloc]initWithIdentifier:KEYCHAIN_ID accessGroup:nil]autorelease];
NSString * uuid = [keychain objectForKey:KEYCHAIN_ID];
if ( uuid == nil ){
uuid = [self createDeviceID];
[keychain setObject:uuid forKey:@"UUID"];
}
return uuid;
}
我无法理解。
答案 0 :(得分:0)
+ (NSString *)getDeviceID
{
KeychainItemWrapper * keychain = [[KeychainItemWrapper alloc] initWithIdentifier:KEYCHAIN_ID accessGroup:nil];
NSString * uuid = [keychain objectForKey:(__bridge id)kSecAttrLabel];
if ( uuid == nil )
{
uuid = [self createDeviceID];
[keychain setObject:uuid forKey:(__bridge id)kSecAttrLabel];
}
return uuid;
}
(_ 网桥ID)kSecAttrLabel可以是( _bridge id)kSecAttrDescription