ゴミ箱内のファイル/フォルダを特定する方法に問題がありました。インターネットにはいくつかの解決策があります。そのうちの 1 つが FSFindFolder です。これは次のように使用できます。
FSFindFolder(kUserDomain, kTrashFolderType, true, &trashRef);
しかし、このメソッドを使用して特定したいファイルのパスを渡す方法がまだわかりません
ゴミ箱内のファイル/フォルダを特定する方法に問題がありました。インターネットにはいくつかの解決策があります。そのうちの 1 つが FSFindFolder です。これは次のように使用できます。
FSFindFolder(kUserDomain, kTrashFolderType, true, &trashRef);
しかし、このメソッドを使用して特定したいファイルのパスを渡す方法がまだわかりません
の最後のパラメータFSFindFolder
は aで、 aおよびFSRef
a に変換できます。CFURLRef
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);
(簡潔にするために、エラー チェックは省略しました。また、自動参照カウントを使用していると想定しています。)
特定のファイルがごみ箱フォルダーにあるかどうかを確認できるようになりました。
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];