2014-12-22 2 views
0

Я сейчас ищу способ получить список всех загрузочных разделов на Mac?Получение списка всех загрузочных дисков mac

Я знаю, что вы можете получить список всех томов? Но я не знаю, как проверить, является ли каждый конкретный том загрузочным?

Есть ли способ сделать это с помощью быстры или Objective C?

ответ

0

С объективом-c или swift, вероятно, нет, но вы можете запускать скрипт яблока (команды терминала) из своего приложения-объектива (на OS X, я не знаю, можно ли это сделать на iOS) как вы выполняете скрипт яблока:

//Begin of the script 
NSAppleScript *script = [[NSAppleScript alloc] 
           initWithSource:@"Tell application \"Terminal\" \n\ 
           do shell script \" some script here \"\n\ 
           end tell"]; 
NSDictionary *errors = nil; 
NSAppleEventDescriptor *result = [script executeAndReturnError:&errors]; 
NSLog(@"result: %@", result); 
NSLog(@"errors: %@", errors); 
if(errors==NULL){ 

    NSLog(@"Succeeded"); 

} 
else{ 

    NSLog(@"Failed");  
} 
//End of the script 
0

быстрый и грязный способ сделать это, чтобы раскошеливаться либо bless --info или systemsetup liststartupdisks команд. Вы можете указать, что вы хотите, чтобы результат в формате plist упрощал анализ.

Что касается выполнения этих команд, то должен работать типичный NSTask. Вы также можете использовать system(), я полагаю, но это не стандартная практика для OS X, поскольку у NSTask есть много преимуществ по сравнению с ней.

Чистым способом сделать это будет получение списка дисков, а затем просмотр каждого из них для известных файлов, которые делают OS X загрузочным. Такие вещи, как файл boot.efi в/System/Library/CoreServices, файл ядра mach и содержимое /System/Library/CoreServices/SystemVersion.plist.

Смежные вопросы