尝试在MacOS上使用C#设置/获取一些密码到密钥链中。设法添加Xamarin.iOS程序集,但似乎不能更进一步。这就是我所拥有的
using System;
using Security;
using Foundation;
var query = new SecRecord(SecKind.InternetPassword)
{
Server = "bugzilla.novell.com",
Account = "miguel"
};但是有个例外,这没什么用。我不知道什么值是空的。上面的示例直接来自Xamarin网站,但不起作用。新来的这个关键链业务,所以不知道我错过了什么。


有人能帮忙吗?任何帮助都是非常感谢的!
我也尝试在没有枚举的情况下实例化,但仍然得到相同的错误。

发布于 2018-06-21 19:28:27
能够通过调用security cmd - https://ss64.com/osx/security.html来解决这个问题。
但是,如果有人知道如何通过API和使用C#来实现这一点,请告诉我。
发布于 2021-04-03 22:02:20
您必须正确地初始化目标-C运行时(如在控制台应用程序中使用Xamarin.Mac绑定中所记录的),然后才能在C#中使用Apple原生API:
NSApplication.Init();实际上,调用ObjCRuntime.Runtime.EnsureInitialized();就足够了,但与NSApplication.Init()不同,EnsureInitialized()方法是内部的,因此只能通过反射调用,这可能不是一个好主意。
https://stackoverflow.com/questions/50936376
复制相似问题