Кажется, я не могу получить значение из цепочки для ключей, поскольку она всегда возвращает ItemNotFound. Код, который я использую, выглядит следующим образом:
private static Guid GetID()
{
Guid returnGuid = Guid.Empty;
SecStatusCode code;
SecRecord queryRec = new SecRecord (SecKind.GenericPassword) { Service = KEYCHAIN_SERVICE, Label = KEYCHAIN_SERVICE, Account = KEYCHAIN_ACCOUNT };
queryRec = SecKeyChain.QueryAsRecord (queryRec, out code);
if (code == SecStatusCode.Success && queryRec != null && queryRec.Generic != null )
{
returnGuid = new Guid(NSString.FromData(queryRec.Generic, NSStringEncoding.UTF8));
}
return returnGuid;
}
Когда я пытаюсь установить значение, оно возвращает DuplicateItem со следующим кодом:
private static SecStatusCode SetID (Guid setID)
{
SecStatusCode code = SecKeyChain.Add (new SecRecord (SecKind.GenericPassword) {
Service = KEYCHAIN_SERVICE,
Label = KEYCHAIN_SERVICE,
Account = KEYCHAIN_ACCOUNT,
Generic = NSData.FromString(Convert.ToString(setID), NSStringEncoding.UTF8),
Accessible = SecAccessible.Always
} );
return code;
}
Любая помощь будет здорово!