Je développe une application en cacao. Je souhaite constamment vérifier si le contenu d'un fichier dans un emplacement particulier est modifié ou non (comme FileSystemwatcher code> in .NET). S'il vous plaît n'importe qui me donne une solution p>
7 Réponses :
Comme Diederik dit, Fsevents est API de carbone d'Apple pour avoir écouté les événements du système de fichiers. Quelqu'un a créé une wrapper cacao / objectif-c pour les fsevents appelé scevents c'est un peu plus facile à utiliser. P>
En dehors de Pedantic, les fsevents ne sont pas une API de carbone; Cela fait partie du cadre de base des services.
Les fsevents sont excellents, mais ils sont utilisés pour surveiller les dossiers. Pour surveiller un seul fichier, vous voudrez vérifier KQuues. Essayez "Man KQQUUE" dans le terminal. P>
Scepevents est la meilleure option pour une personne à la recherche d'une solution de cacao, cependant.
Les fsevents sont toujours destinés aux modifications de répertoire, et il semble que Scepevents est un wrapper pour les fsevents. La question pose de surveiller un seul fichier. Les kQuues sont beaucoup mieux adaptés à cela. Le lien vers des scepes ci-dessus fait également référence à Ukkqueue, ce qui pourrait être une bonne emballeuse aussi.
Une autre option serait de boire directement à partir de / dev / fsevents Firehose. Je travaille sur une application qui fait exactement cela et cela fonctionne très bien. Vous pouvez être notifié si un fichier change, est supprimé, est déplacé, a des attributs modifiés, etc. accordés, ce n'est pas une option "cacao" puisqu'il s'agit principalement de Code C, mais nous utilisons cela dans une application de cacao. < / p>
Une autre ressource sur KQQUues est http: // développeur .apple.com / Documentation / Darwin / Conceptuel / Fsevents_ProgGuide / KernelQuesues / KernelQuues.html P>
Regardez la documentation de la classe Nsworkspace. P>
Voici un exemple de comment le faire avec des signets et NsfileManager afin de pouvoir suivre le fichier s'il est déplacé. P>
Juste une suggestion: "Donnez-moi une solution" pourrait être interprétée comme éteinte légèrement abrasive en anglais et implique également que vous n'ayez peut-être pas recherché une réponse pour vous-même. C'est une bonne forme à Google avant de poster une question. :-)