我伙计,可可:检测不可卸的卷
我正在开发一个小应用程序,它应该能够卸载卷。
目前,我使用下面的代码,以确定卷是否无法卸载与否:
BOOL isRemovable, isWritable, isUnmountable;
NSString *description, *type;
BOOL succ = [ws getFileSystemInfoForPath:[itemInfo objectForKey:@"path"]
isRemovable:&isRemovable
isWritable:&isWritable
isUnmountable:&isUnmountable
description:&description
type:&type];
的问题是,只有通过物理方法除去卷像CD或DVD获取isUnmountable = YES标志。 USB设备不会,尽管这些设备也是无法安装的。
你们有解决方案吗?
----编辑
我试着用FAT格式化的另一个USB记忆棒。我有2个USB硬盘连接到我的Mac上,通过Finder或Disk Utility无法挂载 - 这些都是HFS格式。我创建它使用从上述代码的输出:
/,HFS卸载的:否,可拆卸:否
/卷/大象,HFS卸载的:否,可拆卸:否
/卷/时间机器, HFS,卸载的:否,可拆卸:否
/卷/ USBSTICK,MSDOS,无法卸载:YES,可移动:YES
它看起来像方法仅如果设备是FAT或MSDOS格式化返回YES。这很奇怪,因为其他2(大象,时间机器)是通过USB连接的卷,必须是可移动和不可挂载的。是否有另一种方法来获取这些信息,或者我在代码中做了什么错误?
-
问候
马尔科
感谢您的输入。我用更多的上下文编辑了我的帖子,并且使用USB棒自己再次尝试了代码。你有什么想法为什么它只适用于MSDOS格式的设备? – 2010-08-12 23:23:44
我刚刚擦拭并重新格式化我的棍子为HFS +并重复测试。工作正常。无论是unnmountable还是isRemovable都是YES。 – 2010-08-13 18:07:19
嗯...那么为什么USB棒工作和USB硬盘不是?听起来不像真正的问题。为什么相同的代码有不同的作用,这一定是有原因的。顺便说一句:我正在使用10.6.4以及最新的开发工具... – 2010-08-13 22:46:36