如何确定是否可以卸载/弹出已安装的设备?
我试图在NSFileManager
。
NSArray *keys = [NSArray arrayWithObjects:NSURLVolumeNameKey, NSURLVolumeURLForRemountingKey, NSURLVolumeIsEjectableKey, 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];
[url getResourceValue:&volumeName forKey:NSURLVolumeNameKey error:&error];
NSLog(@"Standard Device : %@ - Removable: %c", volumeName, [isRemovable boolValue]);
}
但是当我遍历列表时,我总是得到这个例子:
Standard Device Name: My Book - isEjectable:
仅供参考,“我的书”是一个USB驱动器。
我希望有人可以指出错误。
由于
答案 0 :(得分:4)
您希望NSURLVolumeIsEjectableKey
不是NSURLVolumeIsRemovableKey
。
NSURLVolumeIsRemovableKey
表示可以从设备中物理删除媒体。 NSURLVolumeIsEjectableKey
表示可以卸载卷。