objective-c - cocoa : is there a way to know if the user has set "Set date & time automatically" in system preferences?

标签 objective-c macos cocoa

我想知道 Cocoa 应用程序是否有办法知道用户是否在其系统偏好设置中设置了“自动设置日期和时间”。如果是这样,我还想知道最后一次时钟更新的时间。 非常感谢您提供的任何帮助。

最佳答案

您可以尝试使用 STPrivilegedTask (或类似)以 root 权限运行任务,然后解析结果。 Hack-y/不是最好的,但它应该可以工作。

编辑:

- (BOOL)networkTimeEnabled {
    STPrivilegedTask *task = [[STPrivilegedTask alloc] initWithLaunchPath:@"/usr/bin/sudo" arguments:@[@"/usr/sbin/systemsetup",@"-getusingnetworktime"]];
    if ([task launch] == noErr) {
        NSData *data = [task.outputFileHandle readDataToEndOfFile];
        [task waitUntilExit];

        NSString *result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

        NSString *status = [result componentsSeparatedByCharactersInSet:NSCharacterSet.whitespaceAndNewlineCharacterSet][2];
        return ([status isEqualToString:@"On"]);
    }
    return NO;
}

关于objective-c - cocoa : is there a way to know if the user has set "Set date & time automatically" in system preferences?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29780039/

相关文章:

objective-c - CIContext内存泄漏

objective-c - 在 cocoa 应用程序中使用 NSTask 执行命令时 sudo 身份验证 session

ios - connectionDidFinishLoading 没有被调用,为什么?

iphone - 确定对象来自哪个字典

ios - 子 viewController 没有收到 shouldAutorotate 方法调用

mysql - Spring Boot DatasourceBean 错误,Macbook,MySQL

macos - 我可以在 docker 镜像中开发 react-native 应用吗

objective-c - 如何从IO套件导入IOPMLib.h?

objective-c - 找不到拖动项目时播放的声音

ios - BOOL 方法有问题