调用SecItemAdd
时,我没有找到有关此类错误代码的信息,可能是什么原因造成的?iOS中的钥匙串访问:“钥匙串无法将代码存储在代码中:-50”
在此先感谢
编辑:这是我的错误的功能:
+ (BOOL)storeWithKey:(NSString *)keyStr withValueStr:(NSString *)valueStr
{
if ((keyStr != nil) && (![keyStr isEqualToString:@""]) &&
(valueStr != nil) && (![valueStr isEqualToString:@""])) {
NSData *valueData = [valueStr dataUsingEncoding:NSUTF8StringEncoding];
NSString *service = [[NSBundle mainBundle] bundleIdentifier];
NSDictionary *secItem = @{(__bridge id)kSecClass : (__bridge id)kSecClassInternetPassword,
(__bridge id)kSecAttrService : service,
(__bridge id)kSecAttrAccount : keyStr,
(__bridge id)kSecValueData : valueData};
CFTypeRef result = NULL;
// Store value and get the result code
OSStatus status = SecItemAdd((__bridge CFDictionaryRef)secItem, &result);
NSLog(@"'writeToKeychain'. %@", [self getErrorMessage:status]);
return [self checkIfInKeychain:status];
}
else {
return NO;
}
}
你在哪里得到这个错误? –
-50 = paramErr。呼叫中的某些参数是错误的,由于参数不正确,呼叫不可能成功。 – gnasher729