猿问

.NET Core - C# - MacOS | 钥匙串API

尝试使用 C# 在 MacOS 上的钥匙串中设置/获取一些密码。设法添加了 Xamarin.iOS 程序集,但似乎无法更进一步。这就是我所拥有的


using System;

using Security;

using Foundation;


var query = new SecRecord(SecKind.InternetPassword)

{

    Server = "bugzilla.novell.com",

    Account = "miguel"

};

但是得到一个例外,这不是那么有用。我不确定什么值为空。上面的示例直接来自Xamarin 网站,但不起作用。这个钥匙扣业务的新手,所以不确定我错过了什么。

http://img2.mukewang.com/6121f92b000156ca12920944.jpg

有人可以帮忙吗?非常感谢任何帮助!

我也尝试在没有枚举的情况下实例化,但仍然出现相同的错误。

http://img.mukewang.com/6121f9330001fd3408360537.jpg

三国纷争
浏览 241回答 2
2回答

Cats萌萌

在 C# 中使用 Apple 本机 API 之前,您必须正确初始化 Objective-C 运行时,如使用控制台应用程序的 Xamarin.Mac 绑定中所述:NSApplication.Init();实际上,调用ObjCRuntime.Runtime.EnsureInitialized();就足够了,但与 不同NSApplication.Init()的EnsureInitialized()是,该方法是内部的,因此只能通过反射调用,这可能不是一个好主意。
随时随地看视频慕课网APP
我要回答