gpt4 book ai didi

macos - OSX 文件系统事件 - 单元测试

转载 作者:行者123 更新时间:2023-12-03 17:20:43 27 4
gpt4 key购买 nike

我正在对处理文件系统事件 API 的代码进行单元测试。它使用文件和子目录中的随机数据创建一个目录树,然后对这些文件执行一些更改并测试更改是否得到正确处理。

但是,这只适用于在某些用户空间目录中创建文件时,例如在我自己的桌面上。当我尝试将测试文件放在 /tmpNSTemporaryDirectory() 的位置等位置时,监听器不会收到任何事件。文件系统事件 API 是否根本没有记录 /var/tmp 等目录中的更改?或者这是这些目录的权限问题?我的应用程序的这一部分没有使用沙盒。

更新

问题出在我的代码中的其他地方,文件系统事件确实适用于整个文件系统。请参阅下面的答案来了解我有些不相关的修复。

最佳答案

问题在于我的代码为我的文件系统监听器设置了目录。为了供将来引用,对我有用的语法如下。目录变量可以从其他地方传入。

NSArray* directories = @[@"/Users/name/Documents", @"/tmp"];
CFArrayRef pathsToWatch = (__bridge CFArrayRef)(directories);

然后将 pathsToWatch 变量传递到 FSEventStreamCreate 调用中。

关于macos - OSX 文件系统事件 - 单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29241671/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com