【问题标题】:iOS: Can not add item to keychain with KeychainItemWrapperiOS:无法使用 KeychainItemWrapper 将项目添加到钥匙串
【发布时间】:2013-07-10 08:28:44
【问题描述】:

首先:我知道关于 KeychainItemWrapper 已经发布了其他问题。我全部阅读了它们,但我没有成功完成一项非常简单的任务:在钥匙串中存储一个值(在设备上,而不是模拟器上)。我总是遇到断言失败,“无法添加钥匙串项”。

这是我的代码,我想获取一个 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;
}

我就是想不通。

【问题讨论】:

    标签: ios keychain keychainitemwrapper


    【解决方案1】:
    + (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;
    }
    

    (_bridge id)kSecAttrLabel 可以是(_bridge id)kSecAttrDescription

    【讨论】:

      猜你喜欢
      • 2017-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-01
      • 2014-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多