我要监视文件的系统活动的几个目录。该目录我要监视的可能变化在运行,因此使用FSEvents这里就是我的应用程序:

  • 创建一个全球回拨功能来处理回调
  • 创建一个新的FSEventStreamRef每个文件夹,联它带回调以上创建和加入方面的eventStream,可以帮助我将改变回这个文件夹

东西似乎主要工作,但我注意到一些怪事在当回调援引和'eventPaths的价值观正在被送往回调。

例如,如果我已经创建了StreamRefs为/Foo和/吧,如果我增加一个文件在吧我回被援引,几乎立即但eventPaths点的位置/Foo,并将背景下,我与StreamRef也是/Foo。

或者说我监测/Foo和/酒吧,然后删除/Bar(通过中止和关闭StreamRef用/条正确地).我现在创建一个新的FSEventStreamRef用/收费和关联,同回调。任何改变,我作出/费用不会导致回到以援引,但变化/Foo继续提高回调。

任何例或文件,我看到的只在网上谈判的监测单个文件夹。是捣毁的东西我怎么敢相关联的单一回调与多FSEventStreamRefs?这听起来像这不应该是一个问题,虽然...

有没有人做了一些类似的方法可以可靠地工作,或者任何建议为什么我可以尝试不同?

有一件事我没有试图这样做,因为我是试验这是使用一个单一的FSEventStreamRef,并通过这一CFArrayRef的所有途径,我希望,当我的观察名单更改关闭并重新创建一个新的FSEventStreamRef-这工作甚至更糟的是,以上。

有帮助吗?

解决方案

对我的作品。 我仿效这些特征:

  1. 一路径流每
  2. 一方面,每路径/流
  3. 一个回调为所有流

你能告诉代码这就是失败?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top