使用Objective-C查询mac是否处于锁定状态

问题描述 投票:0回答:0

我希望能够通过 Objective-C 检测 mac 是处于锁定状态还是睡眠状态。 2012年的这个问题使用

kCGSessionOnConsoleKey
键进入
CGSessionCopyCurrentDictionary()
提供的字典提供了一半的答案。

    CFDictionaryRef session = CGSessionCopyCurrentDictionary();
    if (session != NULL) {
        d->locked = ![[(id)session objectForKey:(NSString *)kCGSessionOnConsoleKey] boolValue]; // d's locked field name is not yet correct.
        CFRelease(session);
    }

使用

CGSSessionScreenIsLocked
键的明显下一步失败,因为它不是 dictionary 条目的一部分; TBH 目前还不清楚链接的答案是如何工作的,但我已经看到了主题的许多变化,所以我想它一定在某个时候有。

CGSSessionScreenIsLocked
是否已被弃用或者它存在于其他地方?有没有其他方法可以实现这一目标?

objective-c macos core-graphics
© www.soinside.com 2019 - 2024. All rights reserved.