2017-02-27 46 views
1

我正在研究Cocoa应用程序(Objective-C),它需要确定FileVault是否已打开。我试图搜索.plistFileVault但没有成功。Objective-C - 检查OS X中的FileVault状态

任何帮助,将不胜感激,

感谢提前:)欢呼

+0

这不是一个API,但至少有[fdesetup工具](https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man8/fdesetup.8.html) – SergGr

回答

2

这是相当简单的通过NSTask

@autoreleasepool { 
    NSTask *task = [[NSTask alloc] init]; 
    [task setLaunchPath:@"/usr/bin/fdesetup"]; 
    [task setArguments:[NSArray arrayWithObjects:@"status", nil]]; 

    NSPipe *pipe = [NSPipe pipe]; 
    [task setStandardOutput: pipe]; 

    NSFileHandle *file = [pipe fileHandleForReading]; 
    [task launch]; 

    NSData *data = [file readDataToEndOfFile]; 
    NSString *string = [[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding]; 

    NSLog (@"%@", string); // FileVault is Off/On. 
} 

有可能通过SecKeychain检查的方式,但对于一个快速检查可能是矫枉过正。

+0

感谢你这么多@ l'L'l这是一个很大的帮助:D – BlackPearl12