【问题标题】:FSEvents: kFSEventStreamCreateFlagWatchRoot flag: not getting 'root rename' eventsFSEvents:kFSEventStreamCreateFlagWatchRoot 标志:未获得“根重命名”事件
【发布时间】: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


【解决方案1】:

这是 OS X 中已知的“FSEvents”错误:http://www.openradar.me/8342264

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多