Как мое приложение Какао может быть уведомлено, когда пользователь очищает корзину? - PullRequest
4 голосов
/ 21 марта 2011

Мое приложение помещает некоторые файлы в корзину, но также реализует отмену, чтобы вытащить их обратно.Мне нужно знать, очищает ли пользователь корзину, чтобы я мог очистить свой стек отмены.

Нужно ли отслеживать события файловой системы для достижения этого или есть более простой способ?

Ответы [ 3 ]

2 голосов
/ 21 марта 2011

Вам, вероятно, придется в конечном итоге посмотреть ~ / .Trash, но там - это уведомление, отправленное, когда мусор опустошен. Его имя "com.apple.carbon.core.DirectoryNotification" (которое также публикуется в другое время), но в userInfo, похоже, ничего нет. Тем не менее, он имеет строку в качестве объекта, так что он может содержать некоторую соответствующую информацию. Мои быстрые тесты показывают, что это не так. (Это похоже на строку, что-то вроде "FNObject 555279-101")

1 голос
/ 02 июня 2011

Вы можете использовать UKKQueue для просмотра уведомлений об изменении файла (пустой трэш):
http://www.cocoadev.com/index.pl?UKKQueue

0 голосов
/ 04 апреля 2011

Другой вариант - использовать FNSubscribe или FNSubscribeByPath. Уведомление не скажет вам точно, что произошло, просто что-то случилось с каталогом, на который вы подписаны.

...