我的应用程序会将一些文件放入回收站,但也会执行undo来再次拉出它们。我需要知道用户是否清空了垃圾桶,这样我才能清空我的撤销堆栈。
我是否需要监视文件系统事件来实现这一点,或者有一种更简单的方法?
发布于 2011-03-21 09:59:50
您最终可能不得不观看~/.Trash,但是当垃圾桶被清空时,会发布一个通知。它的名字是"com.apple.carbon.core.DirectoryNotification"
(也在其他时间发布),但在userInfo中似乎没有任何东西。但是,它确实有一个字符串作为对象,因此可能包含一些相关信息。我的快速测试似乎表明它不是这样的(它看起来像一个类似"FNObject 555279-101"
的字符串)。
发布于 2011-06-02 12:00:03
您可以使用UKKQueue查看文件更改(空拍打)通知:
http://www.cocoadev.com/index.pl?UKKQueue
发布于 2011-04-04 06:42:46
另一种选择是使用FNSubscribe
或FNSubscribeByPath
。通知不会告诉你到底发生了什么,只告诉你订阅的目录发生了什么事情。
https://stackoverflow.com/questions/5372700
复制相似问题