2011-01-12 18 views
2

Meine Frage ist sehr ähnlich zu dieser: What is the optimal way to monitor changes in a directory with a kqueue()?, aber ich bin nicht mit der Antwort zufrieden.Unter iOS, wie kann eine App feststellen, ob eine Datei nicht mehr von einem anderen Prozess geschrieben wird?

Ich habe ein kqueue-Setup, um benachrichtigt zu werden, wenn eine Datei in das Dokumentenverzeichnis meiner App kopiert wird. Natürlich wird die Benachrichtigung ausgelöst, sobald der Kopiervorgang beginnt, aber ich möchte wissen, wann sie abgeschlossen ist. Sicherlich gibt es einen besseren Weg als Modifikationszeiten zu ändern?

Antwort

0

Für jetzt scheint die Antwort "nein" zu sein, also habe ich die Änderungszeit der Datei (en) abgefragt.

Wenn jemand anderes in der Lage ist, eine bessere Antwort zu finden, würde ich mich freuen, es zu hören (und wird dies nicht akzeptieren).

1

Starten Sie das Kopieren und haben Sie die Kontrolle über die Dateinamen? Dann könnte die einfachste Lösung sein, einfach in eine temporäre Datei zu kopieren und sie dann in den endgültigen Namen umzubenennen. Auf diese Weise wüssten Sie: Wenn diese Datei vorhanden ist, wird sie nicht mehr geschrieben.

+0

Nein, das sind Dokumente, die vom System in das Dokumentenverzeichnis des App-Bundles kopiert werden, um Dateien zu teilen. – bosmacs