【发布时间】:2016-01-17 17:34:50
【问题描述】:
我在调用SecItemAdd时没有找到有关此类错误代码的信息,可能是什么原因造成的?
提前致谢
编辑:这是我得到错误的函数:
+ (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 = 参数错误。您调用的部分参数错误,由于参数错误,调用不可能成功。
标签: ios error-handling keychain error-code