Uso el Apple wraper for the keychain y trato de guardar un elemento en él (ejecutándolo en el simulador, ios 4.1).Error al guardar en el llavero con iphone sdk
No tengo experiencia con el llavero antes.
me sale este error:
Couldn't add the Keychain Item. Error - 25299
En línea KeychainItemWrapper.m 304:
// No previous item found; add the new one.
result = SecItemAdd((CFDictionaryRef)[self dictionaryToSecItemFormat:keychainItemData], NULL);
NSAssert(result == noErr, @"Couldn't add the Keychain Item.");
Esto es como lo hago con los puños:
- (void) saveKey:(NSString *)key value:(NSString *)value {
KeychainItemWrapper *keyItem = [[KeychainItemWrapper alloc] initWithIdentifier:key accessGroup:nil];
[keyItem setObject:value forKey:(id)kSecValueData];
[keyItem release];
}
Y esto son los valores que la API intenta guardar:
<CFBasicHash 0x7231f60 [0x320d380]>{type = mutable dict, count = 5,
entries =>
2 : <CFString 0x2e6eb98 [0x320d380]>{contents = "labl"} = <CFString 0x2fb018 [0x320d380]>{contents = ""}
3 : <CFString 0x2e6efb8 [0x320d380]>{contents = "v_Data"} = <CFString 0x727de60 [0x320d380]>{contents = "dit8"}
4 : <CFString 0x2e6ebc8 [0x320d380]>{contents = "acct"} = <CFString 0x2fb018 [0x320d380]>{contents = ""}
5 : <CFString 0x2e6eb58 [0x320d380]>{contents = "desc"} = <CFString 0x2fb018 [0x320d380]>{contents = ""}
6 : <CFString 0x2e6ebe8 [0x320d380]>{contents = "gena"} = <CFString 0x2ffd08 [0x320d380]>{contents = "userCode"}
}
has resuelto el problema? –
Estoy atascado con esto, así que creo que una recompensa es una buena idea. Mismo errorCode pero iOS4.3 Pero supongo que este es un problema PEBKAC, y no hay problema con el SDK. –
Se me ocurrió este problema cuando agregué '[keychainItemData setObject: @" "forKey: (__ ID de puente) kSecAttrService];' en '- (void) resetKeychainItem'. Luego, cuando estaba leyendo la respuesta de user379075 a continuación, sonó una campana que, si la 'reinicia', también debe configurarla y v.v. – mrd3650