【发布时间】:2012-03-18 16:55:54
【问题描述】:
iOS中如何检测文件是否被修改?
我不是指实时监控,因为当应用程序消失时,它就不会再检测了。
我检查了文件的属性,没有找到满意的。(我错过了什么吗?)
也许有一些生成校验和的解决方案,但它们需要很多时间。 (有没有便宜的校验和生成算法?)
【问题讨论】:
iOS中如何检测文件是否被修改?
我不是指实时监控,因为当应用程序消失时,它就不会再检测了。
我检查了文件的属性,没有找到满意的。(我错过了什么吗?)
也许有一些生成校验和的解决方案,但它们需要很多时间。 (有没有便宜的校验和生成算法?)
【问题讨论】:
您可以使用stat (reference) 来获取文件的修改时间。然后,您可以将其与您的存储值进行比较:
struct stat sb;
if (stat("/path/to/file", &sb) == 0)
{
... compare sb.st_mtimespec with stored value
}
else
{
... report error
}
This question 非常接近你的。
【讨论】:
您检查了哪些属性?使用fstat(),您应该能够将文件的st_mtime 属性与之前存储的值进行比较。
【讨论】:
stat 工作得更快。请参阅以下 SO 答案,该答案演示了使用 stat 获取修改日期:stackoverflow.com/a/1999553/19410
NSDate 的 Objective C 类别(如果您对此细节感兴趣)。
NSDate),那么该应用程序将被拒绝。所以我会使用该代码来学习stat,然后将其修改为“本地”非 Apple 辅助类中的方法。