gpt4 book ai didi

iphone - 使用 kqueue() 监视目录中的更改的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-03 18:36:38 25 4
gpt4 key购买 nike

好的:我正在 iPhone OS 应用程序中实现文件共享,当然这意味着文件系统监控。耶!

基本上,当用户将文件操作到 iTunes 中我的应用程序部分时,操作系统会在我可以访问的目录中进行复制和/或删除。因此,我需要通过像 kqueue() 这样的有效机制来监视目录的更改。

如何实现此操作以便我知道文件已完成复制?我的想法是这样的:

  • 使用 kqueue() 进行监控。
  • 在事件中,开始(或重置现有)超时。
  • 超时后,继续工作。

但是有没有更好的方法来确保我不会超越操作系统的范围?

最佳答案

这只是部分答案,但可能有点用。

  1. kqueue 机制确实可以作为应用程序文档目录修改时收到通知的一种方式。

  2. 一旦目录被修改且复制文件完成之前,就会发出通知。我在测试中观察到了这一点。

不幸的是,复制完成后没有任何形式的通知。至少,我没有找到。

我希望苹果能够意识到,“iTunes 同步”完成后需要发出通知,因为这似乎是一个普遍问题。

循环检查新文件的修改时间是否未更改可能有效,但仅在大多数情况下有效。在某些极端情况下,iOS 可以暂停在后台执行各种耗时的工作。

如果有一种方法可以检查特定文件是否被另一个进程打开,那么这就足够了。

杰夫

关于iphone - 使用 kqueue() 监视目录中的更改的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2972563/

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