Question

Je développe une application Cocoa. Je veux vérifier constamment si le contenu d'un fichier dans un endroit particulier est changé ou non (comme dans .NET FileSystemWatcher). S'il vous plaît quelqu'un me donner une solution

Était-ce utile?

La solution

S'il vous plaît consulter FSEvents .

Autres conseils

Comme le dit Diederik, FSEvents est API Carbon d'apple pour écouter de déposer les événements du système. Quelqu'un a créé une enveloppe Cocoa / Objective-C pour FSEvents appelé SCEvents qui est un peu plus facile à utiliser.

Une autre option serait de boire directement du / dev / fsevents firehose. Je travaille sur une application qui fait exactement cela et il fonctionne très bien. Vous pouvez être averti en cas de modification de fichier, est supprimé, est déplacé, a des attributs changé, etc. Certes, ce n'est pas une option « Cocoa », car il est surtout le code C, mais nous utilisons cela dans une application Cocoa.

FSEvents sont grands, mais ils sont utilisés pour surveiller les dossiers. Pour surveiller un seul fichier que vous voulez vérifier kqueues. Essayez "homme kqueue" dans le terminal.

Regardez la documentation de la classe NSWorkspace.

Voici un exemple de la façon de le faire avec des signets et NSFileManager afin que vous puissiez suivre le fichier s'il est déplacé.

https://github.com/ptrsghr/FileWatcher

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top