여러분,코코아 : 마운트 할 수없는 볼륨을 감지하십시오.
볼륨을 마운트 해제 할 수 있어야하는 작은 응용 프로그램을 개발 중입니다.
현재, 나는 볼륨을 마운트 해제 여부를 결정하기 위해 다음 코드를 사용하고 있습니다 :
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 GET isUnmountable = YES 플래그와 같은 물리적으로 제거 볼륨. USB 장치는 마운트 할 수 없지만 그렇게하지는 않습니다.
여러분은 해결책이 있습니까?
는 ----편집
나는 FAT 포맷 된 또 다른 USB 스틱으로 그것을 밖으로 시도했다. Finder 나 디스크 유틸리티를 통해 마운트 할 수없는 Mac에 연결된 2 개의 USB 하드 디스크가 있습니다.이 파일들은 HFS 포맷입니다. , NO/볼륨/타임머신 : 마운트 해제 NO
/볼륨/코끼리, HFS, : 이동식 NO :
/HFS, 탑재 할 : NO 이동식 I은 상기에서 코드를 사용하여 출력을 만들어 마운트 해제, HFS : NO 이동식 : NO
/볼륨/USBSTICK, 도스, 탑재 할 : YES 이동식 :
그것은 장치가 FAT 또는 MSDOS 포맷 인 경우에만 YES를 반환있어서 YES 같다. 이것은 다른 2 (Elephant, Time Machine)가 USB를 통해 연결되어 있으며 이동식이거나 마운트 해제가 가능한 볼륨이므로 이상합니다. 그 정보를 얻는 또 다른 방법이 있습니까, 아니면 제 코드에서 뭔가 잘못 했습니까?
-
감사
마르코
입력 해 주셔서 감사합니다. 나는 더 많은 맥락으로 내 게시물을 편집하고 USB 스틱으로 코드를 다시 시도했다. MSDOS 형식의 장치에서만 작동하는 이유를 알고 있습니까? –
방금 HFS +로 스틱을 닦아서 다시 포맷하고 테스트를 반복했습니다. 잘 작동합니다. isUnmountable 및 isRemovable은 모두 YES입니다. –
흠 ... 그렇다면 USB 스틱이 작동하고 USB 하드 디스크가 작동하지 않는 이유는 무엇입니까? 진짜 문제처럼 들리지 않습니다. 동일한 코드가 다르게 작동하는 이유가 있어야합니다. Btw : 최신 개발 도구와 함께 10.6.4를 사용 중입니다 ... –