Как составить список содержимого корзины с помощью target-c (в Mac) - PullRequest
0 голосов
/ 09 мая 2011

Я пытаюсь получить содержимое корзины в приложении Какао, и мне было интересно, если это особый путь или мне нужно использовать специальные функции.

Спасибо за вашу помощь,

С уважением,

Ответы [ 3 ]

5 голосов
/ 09 мая 2011

Есть несколько специальных путей для мусорных предметов.

  • Каждый пользователь имеет директорию .Trash в своем доме напрямую.
  • Каждый подключенный том имеет в своем корневом каталоге каталог .Trashes с подкаталогом для каждого пользователя. Это связано с тем, что мусорные элементы на съемных дисках, такие как USB-ключи, остаются на диске.

Выше приведены детали реализации (которые остаются постоянными с 10.0), поэтому я не уверен, можно ли на них полагаться. Альтернативой переходу в каталоги является использование скриптового моста к Finder. В есть пример руководства по программированию Scripting Bridge .

2 голосов
/ 27 сентября 2013

Вы можете использовать URLForDirectory для получения каталога корзины, связанного с файлом, домашним каталогом или внешним томом.

NSURL *trashURL = [[NSFileManager defaultManager] URLForDirectory:NSTrashDirectory inDomain:NSUserDomainMask appropriateForURL:dirURL create:NO error:&error];

Вы можете вызывать эту функцию для всех томов, подключенных с помощью «mountVolumeURLsInclusiveResourceValuesForKeys»

1 голос
/ 09 мая 2011

"Macintosh HD> Пользователи> ваше имя пользователя> .Trash" Он скрыт для поиска, но вы можете найти его в терминале или иным образом. С этого момента это обычная папка, и вы можете выполнять любые функции, которые вам нравятся. Можно сделать вот так

NSError *error=nil;
NSString *path=[NSHomeDirectory() stringByAppendingPathComponent:@".Trash"];
NSArray *folderList=[[NSFileManager defaultManager] contentsOfDirectoryAtPath:path error:&error];
...