我夥計,可可:檢測不可卸的卷
我正在開發一個小應用程序,它應該能夠卸載卷。
目前,我使用下面的代碼,以確定卷是否無法卸載與否:
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