在 Mac OS X 中支持 ACL,有一种方法可以将文件声明为可写但不可删除。
这给原子写入带来了问题,因为VFS 中的当前实现是预先存在的目标。如果您有一个现有的文件,您对其具有写入权限,则可能无法自动写入:
只需附加一个 ACL 声明和原子写入(如由各种 Cocoa API 实现 - 例如NSArray's)将失败,而非原子写入将很高兴成功。rename
delete
deny delete
writeToFile:atomically:
由于我对低级 C 代码的理解相当有限:
只有轻微(插入您最喜欢的“轻微”定义)头痛的替代实现是否可行?
谢谢
丹尼尔