rib*_*ram 6 macos cocoa fsevents
有一个讨论,连续的FSEventStreamEventId可用于检测kFSEventStreamEventFlagItemRenamed事件的旧名称和新名称.这似乎适用于我对基本重命名案例的测试.但是,这似乎在以下情况中崩溃:
这会导致事件:
2012-11-06 18:13:01.246 test[45080:1603] event [60095818] [10800] [/Users/tim/test_dir/B]
2012-11-06 18:13:01.248 test[45080:1603] event [60095824] [10900] [/Users/tim/test_dir/C]
2012-11-06 18:13:01.253 test[45080:1603] event [60095825] [10800] [/Users/tim/test_dir/A]
Run Code Online (Sandbox Code Playgroud)
事件位0x10800 ="文件重命名"和0x10900 ="文件创建/重命名"
(来自FSEvents.h)
kFSEventStreamEventFlagItemCreated = 0x00000100
kFSEventStreamEventFlagItemRenamed = 0x00000800
kFSEventStreamEventFlagItemIsFile = 0x00010000
Run Code Online (Sandbox Code Playgroud)
在这种情况下,似乎A被重命名为B的事实已经丢失.
我希望看到像A的60095817 10800这样的事件.
任何人都可以确认这种行为,如果有的话,是否有人对如何处理这种限制有任何想法,而不必维护目录内容的单独表示并重新扫描/比较整个目录?
我正在测试OS X 10.8.2.
编辑:刚刚发现另一个讨论,表明这可能是一个更多的重命名问题.
| 归档时间: |
|
| 查看次数: |
1060 次 |
| 最近记录: |