какао как достать УЖЕ смонтированный не монтируемый диск - PullRequest
2 голосов
/ 20 октября 2011

NSWorkspaceDidMountNotification хорошо работает для получения информации о только что смонтированном диске. Но как я могу получить информацию о уже смонтированных дисках до запуска моего приложения?

командная строка: «diskutil list» и «diskutil info /» работают, но там должен быть простой программный метод.

результат поиска "DiskArbitration" или "VolumeToBSDNode example" не работает, IOkit сложен.

Кстати, кто-нибудь рекомендует использовать это? [NSWorkspace getFileSystemInfoForPath: isRemovable: isWritable: isUnmountable: описание: тип:]

1 Ответ

5 голосов
/ 09 августа 2012

Как насчет [NSFileManager mountedVolumeURLsIncludingResourceValuesForKeys:options:]?

Редактировать: Вот фрагмент кода, как использовать его для получения съемных дисков и имен их томов.

NSArray *keys = [NSArray arrayWithObjects:NSURLVolumeNameKey, NSURLVolumeIsRemovableKey, nil];
NSArray *urls = [[NSFileManager defaultManager] mountedVolumeURLsIncludingResourceValuesForKeys:keys options:0];
for (NSURL *url in urls) {
  NSError *error;
  NSNumber *isRemovable;
  NSString *volumeName;
  [url getResourceValue:&isRemovable forKey:NSURLVolumeIsRemovableKey error:&error];
  if ([isRemovable boolValue]) {
    [url getResourceValue:&volumeName forKey:NSURLVolumeNameKey error:&error];
    NSLog(@"%@", volumeName);
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...