2013-07-10 90 views
0

首先到鑰匙串:我知道有關於已經發布的KeychainItemWrapper其他問題。我把它們都讀了,但是我沒有成功完成一項非常簡單的任務:將一個值存儲在Keychain中(在設備上,而不是模擬器上)。我總是斷言失敗,「無法添加鑰匙串項目」。的iOS:無法添加項目與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; 
} 

我只是不明白。

回答

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