【发布时间】:2019-01-01 11:51:47
【问题描述】:
我正在创建 FSEvents 流并传递 kFSEventStreamCreateFlagWatchRoot 标志。来自苹果的documentation:
kFSEventStreamCreateFlagWatchRoot: 请求沿您正在观看的路径的路径更改通知。例如,使用此标志,如果您观看“/foo/bar”并将其重命名为“/foo/bar.old”,您将收到 RootChanged 事件。如果目录“/foo”被重命名,情况也是如此。您收到的事件是一个特殊事件:事件的路径是您指定的原始路径,标志 kFSEventStreamEventFlagRootChanged 已设置且事件 ID 为零。
所以当“/foo/bar”重命名为“/foo/bar.old”时,我得到了预期的事件。但是当“/foo”目录被重命名时,我没有得到我应该得到的事件。可能的原因是什么?
【问题讨论】:
-
/foo是挂载点吗?也就是说,从技术上讲,它不在您正在监控的设备内吗? -
@KenThomases 没有。例如它就像“/Users/myUser/Downloads/foo/bar”
标签: objective-c fsevents