2
휴지통에있는 파일/폴더를 확인하는 방법에 문제가 발생했습니다. 인터넷에 몇 가지 솔루션이 있습니다. 그 중 하나가 FSFindFolder입니다.휴지통에있는 파일/폴더를 찾기위한 FSFindFolder
FSFindFolder(kUserDomain, kTrashFolderType, true, &trashRef);
하지만 아직도 내가
휴지통에있는 파일/폴더를 확인하는 방법에 문제가 발생했습니다. 인터넷에 몇 가지 솔루션이 있습니다. 그 중 하나가 FSFindFolder입니다.휴지통에있는 파일/폴더를 찾기위한 FSFindFolder
FSFindFolder(kUserDomain, kTrashFolderType, true, &trashRef);
하지만 아직도 내가
이 FSFindFolder
의 마지막 매개 변수는이 방법을 사용하여 결정하고자하는 파일의 경로를 전달하는 방법을 모르는이 같은 것을 사용할 수 있습니다 CFURLRef
과로 변환 할 수 FSRef
하는 NSURL
:
FSRef trashRef;
FSFindFolder(kUserDomain, kTrashFolderType, true, &trashRef);
CFURLRef urlRef = CFURLCreateFromFSRef(NULL, &trashRef);
NSURL *trashUrl = CFBridgingRelease(urlRef);
NSString *trashPath = [trashUrl path];
NSLog(@"trash folder: %@", trashPath);
ity. 나는 또한 당신이 자동 참조 카운팅을 사용하는 것으로 가정 한) 이제
해당 파일이 휴지통 폴더에있는 경우 당신이 확인할 수 있습니다.
NSString *theFile = ...; // your file here
NSString *fileInTrash = [trashPath stringByAppendingPathComponent:theFile];
BOOL isInTrash = [[NSFileManager defaultManager] fileExistsAtPath:fileInTrash];
NSLog(@"is in trash: %d", isInTrash);
참고 : Mac OS X 10.8에, FSFindFolder
가되지 않습니다 다음 코드를 사용하여 휴지통 폴더를 찾을 수 있습니다.
NSString *trashPath = [NSSearchPathForDirectoriesInDomains(NSTrashDirectory, NSUserDomainMask, YES) lastObject];
고를 수 있습니다. 마침내 나는 흐름을 이해한다. 그건 그렇고, 하나의 질문이 있는데, 그것은 항상 [NSHomeDirectory (stringByAppendingPathComponent : @ ". 휴지통]];' – arufian
@arufian : 나는 * 첫 번째 버전의 Mac에서는 다른 경로라고 생각합니다. OS X,하지만 그것에 대해 잘 모르겠습니다. 따라서 이러한 것들은 릴리즈간에 변경 될 수 있으며 하드 코딩 된 경로 대신 함수를 사용하는 것이 안전합니다. –
파일이 외부 볼륨 (예 : USB 메모리)에있을 수 있습니다. 이 경우 휴지통 디렉토리는 홈 디렉토리가 아니라 볼륨에 있습니다. 파일과 관련된 휴지통 디렉토리를 얻으려면'[[NSFileManager defaultManager] URLForDirectory : NSTrashDirectory inDomain : NSUserDomainMask appropriateForURL : [NSURL fileURLWithPath : filename] create : NO error : & error]'명령을 사용할 수 있습니다. –