NSWorkspaceDidMountNotification可以很好地获取刚挂载的磁盘的信息。但是,在我的应用程序启动之前,我如何才能获得已经安装的磁盘的信息呢?
命令行:"diskutil list“和"diskutil info /”可以工作,但是应该有一个简单的编程方法。
搜索结果"DiskArbitration“或"VolumeToBSDNode示例”不起作用,IOkit难。
顺便说一下,有人推荐用这个吗?NSWorkspace getFileSystemInfoForPath:isRemovable:isWritable:isUnmountable:description:type:
发布于 2012-08-09 04:06:50
[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);
}
}https://stackoverflow.com/questions/7828783
复制相似问题