我正在使用 FSEvents API 来检测备份应用程序的文件系统更改。/
应用程序在 ROOT ( ) 路径上创建一个 FSEvent 流。现在,如果 sombody 通过具有不同大小写/规范化的 shell 删除文件,问题就开始了。假设文件夹 (/Users/bob) 包含一个名为的文件a.txt
并且用户使用 删除它A.TXT
,在这种情况下,事件将针对路径/Users/bob/A.TXT
而不是/Users/bob/a.txt
.
此时备份应用程序对删除文件的情况(在 HFS+ 和 APFS 下)一无所知。从 10.13 开始,APFS 是 Mac 设备的默认文件系统,它保留了文件的规范化。因此,在 APFS 下问题变得更加复杂,因为应用程序对已删除文件的规范化也一无所知。在开发人员文档中,我找不到有关此的详细信息。理想情况下,删除事件应保留文件的大小写和规范化。
对此的任何见解表示赞赏。