gpt4 book ai didi

cocoa - 获取 OS X 上的所有用户

转载 作者:行者123 更新时间:2023-12-03 16:16:04 26 4
gpt4 key购买 nike

所以我想在我的应用程序中实现每个用户的家长控制,但我需要一种获取所有用户并将它们添加到 NSTableView 的方法。这些用户应该与登录窗口显示的用户相同,但不包括其他...用户和系统用户。

关于如何做到这一点有什么想法吗?另外,我希望能够在该 TableView 上进行选择,当然还可以根据该选择更改显示的设置。

最佳答案

我是这样做的:

#import <CoreServices/CoreServices.h>
#import <Collaboration/Collaboration.h>

CSIdentityAuthorityRef defaultAuthority = CSGetLocalIdentityAuthority();
CSIdentityClass identityClass = kCSIdentityClassUser;

CSIdentityQueryRef query = CSIdentityQueryCreate(NULL, identityClass, defaultAuthority);

CFErrorRef error = NULL;
CSIdentityQueryExecute(query, 0, &error);

CFArrayRef results = CSIdentityQueryCopyResults(query);

int numResults = CFArrayGetCount(results);

NSMutableArray * users = [NSMutableArray array];
for (int i = 0; i < numResults; ++i) {
CSIdentityRef identity = (CSIdentityRef)CFArrayGetValueAtIndex(results, i);

CBIdentity * identityObject = [CBIdentity identityWithCSIdentity:identity];
[users addObject:identityObject];
}

CFRelease(results);
CFRelease(query);

//users contains a list of known Aqua-style users.

CBIdentity 对象比 CSIdentityRef 对象使用起来方便得多,但它们确实需要导入协作框架。

关于cocoa - 获取 OS X 上的所有用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3681895/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com