我想知道 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/