2017-02-27 16 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