这是我的代码:
//Set
KeychainItemWrapper *keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"Animex" accessGroup:nil];
[keychain setObject:username forKey:kSecValueData];
[keychain setObject:password forKey:kSecAttrAccount];
[keychain release];
它工作得很好,但我收到警告:
"passing argument 2 of 'set object:forkey' discards qualifiers from pointer target type.
这是什么意思? 如何解决?
最佳答案
将参数转换为id。
[keychain setObject:username forKey:(id)kSecValueData];
[keychain setObject:password forKey:(id)kSecAttrAccount];
kSecValueData 和 kSecAttrAccount 是 CFTypeRef 并且 setObject:forKey: 需要一个 id。
CFTypeRef 定义为:
typedef const void * CFTypeRef;
事实上,它是一个 const 给你这个警告。
关于ios - XCode 中的钥匙串(keychain)警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7014343/