这是我的代码:
static void SetA(byte[] b)
{
var result = SecKeyChain.Add(new SecRecord(SecKind.Key) { Generic = "test", ValueData = NSData.FromArray(b) });
Debug.WriteLine(result);
}
result
是:NoSuchAttribute
个人资料?
这是我第一次使用KeyChain,因此请不要打扰(如“忽略”)我可能犯的任何简单错误。
最佳答案
我有完全相同的错误。我从这里追踪官方样品
https://github.com/xamarin/ios-samples/tree/master/Keychain。
我对其进行了调试,发现Error NoSuchAttribute
来自Generic
属性。在official Apple documentation中,kSecAttrGeneric属性列在“密码属性”下。所以我认为xamarin示例是正确的,因为它使用了SecKind.GenericPassword
。
用Generic
或其他替换Label
来标识您的钥匙串记录。
使用您的代码
static void SetA(byte[] b)
{
var result = SecKeyChain.Add(new SecRecord(SecKind.Key) {
Label = "test",
ValueData = NSData.FromArray(b)
});
Debug.WriteLine(result);
}