.NET Core - C# - MacOS |钥匙扣 API
.NET Core - C# - MacOS | Keychain API
尝试使用 C# set/get 将一些密码输入到 MacOS 上的钥匙串中。设法添加 Xamarin.iOS 程序集,但似乎无法更进一步。这就是我的,
using System;
using Security;
using Foundation;
var query = new SecRecord(SecKind.InternetPassword)
{
Server = "bugzilla.novell.com",
Account = "miguel"
};
但是得到一个异常,这不是很有用。我不确定什么值为空。上面的示例直接来自 Xamarin website,但不起作用。这个钥匙串业务的新手,所以不确定我错过了什么。
有人可以帮忙吗?非常感谢任何帮助!
我也试过在没有枚举的情况下实例化,但仍然得到同样的错误。
能够通过调用 security
cmd 解决此问题 - https://ss64.com/osx/security.html
但是如果有人知道如何通过 API 和使用 C# 来完成此操作,请告诉我。
在 C# 中使用 Apple 本机 API 之前,您必须按照 Using Xamarin.Mac bindings for Console Apps 中的说明正确初始化 Objective-C 运行时:
NSApplication.Init();
实际上,调用 ObjCRuntime.Runtime.EnsureInitialized();
就足够了,但与 NSApplication.Init()
不同的是,EnsureInitialized()
方法是内部方法,因此只能通过反射调用,这可能不是一个好主意。
尝试使用 C# set/get 将一些密码输入到 MacOS 上的钥匙串中。设法添加 Xamarin.iOS 程序集,但似乎无法更进一步。这就是我的,
using System;
using Security;
using Foundation;
var query = new SecRecord(SecKind.InternetPassword)
{
Server = "bugzilla.novell.com",
Account = "miguel"
};
但是得到一个异常,这不是很有用。我不确定什么值为空。上面的示例直接来自 Xamarin website,但不起作用。这个钥匙串业务的新手,所以不确定我错过了什么。
有人可以帮忙吗?非常感谢任何帮助!
我也试过在没有枚举的情况下实例化,但仍然得到同样的错误。
能够通过调用 security
cmd 解决此问题 - https://ss64.com/osx/security.html
但是如果有人知道如何通过 API 和使用 C# 来完成此操作,请告诉我。
在 C# 中使用 Apple 本机 API 之前,您必须按照 Using Xamarin.Mac bindings for Console Apps 中的说明正确初始化 Objective-C 运行时:
NSApplication.Init();
实际上,调用 ObjCRuntime.Runtime.EnsureInitialized();
就足够了,但与 NSApplication.Init()
不同的是,EnsureInitialized()
方法是内部方法,因此只能通过反射调用,这可能不是一个好主意。