首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.NET Core - C# - MacOS MacOS Keychain API

.NET Core - C# - MacOS MacOS Keychain API
EN

Stack Overflow用户
提问于 2018-06-19 20:23:11
回答 2查看 1.3K关注 0票数 4

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

代码语言:javascript
复制
using System;
using Security;
using Foundation;

var query = new SecRecord(SecKind.InternetPassword)
{
    Server = "bugzilla.novell.com",
    Account = "miguel"
};

但是有个例外,这没什么用。我不知道什么值是空的。上面的示例直接来自Xamarin网站,但不起作用。新来的这个关键链业务,所以不知道我错过了什么。

有人能帮忙吗?任何帮助都是非常感谢的!

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-21 19:28:27

能够通过调用security cmd - https://ss64.com/osx/security.html来解决这个问题。

但是,如果有人知道如何通过API和使用C#来实现这一点,请告诉我。

票数 2
EN

Stack Overflow用户

发布于 2021-04-03 22:02:20

您必须正确地初始化目标-C运行时(如在控制台应用程序中使用Xamarin.Mac绑定中所记录的),然后才能在C#中使用Apple原生API:

代码语言:javascript
复制
NSApplication.Init();

实际上,调用ObjCRuntime.Runtime.EnsureInitialized();就足够了,但与NSApplication.Init()不同,EnsureInitialized()方法是内部的,因此只能通过反射调用,这可能不是一个好主意。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50936376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档