Estoy desarrollando una aplicación en Cocoa. Quiero comprobar constantemente si el contenido de un archivo en una ubicación particular se cambia o no (como FileSystemWatcher
en .NET). Por favor, que alguien me dé una soluciónEquivalente de FileSystemWatcher (.NET) en Cocoa
Respuesta
Por favor, eche un vistazo a FSEvents.
Como dice Diederik, FSEvents es la API de Apple para escuchar eventos del sistema de archivos. Alguien ha creado un contenedor Cocoa/Objective-C para FSEvents llamado SCEvents que es un poco más fácil de usar.
Como un pedante lado, FSEvents no es una API de carbono; es parte del marco de servicios básicos. – briankc
FSEvents son geniales, pero se utilizan para controlar carpetas. Para monitorear un solo archivo, querrá ver kqueues. Prueba "man kqueue" en la terminal.
SCEvents es la mejor opción para alguien que busca una solución Cocoa. –
FSEvents aún son para cambios de directorio, y parece que SCEvents es un contenedor para FSEvents. La pregunta requiere monitorear un solo archivo. Los Kqueues son mucho más adecuados para eso. El enlace a SCEvents también hace referencia a UKKQueue, que también podría ser un buen contenedor. –
Otra opción sería beber directamente de/dev/fsevents firehose. Trabajo en una aplicación que hace exactamente esto y funciona muy bien. Se le puede notificar si un archivo cambia, se elimina, se mueve, se cambian los atributos, etc. De acuerdo, esta no es una opción "Cocoa" ya que es principalmente código C, pero estamos usando esto en una aplicación Cocoa.
Un recurso más adelante kqueues es http://developer.apple.com/documentation/Darwin/Conceptual/FSEvents_ProgGuide/KernelQueues/KernelQueues.html
Mira la documentación de la clase NSWorkspace.
Aquí hay un ejemplo de cómo hacerlo con marcadores y NSFileManager para que pueda seguir el archivo si se mueve.
- 1. ¿Existe un equivalente a .Net FileSystemWatcher en el mundo de Linux?
- 2. JMS equivalente en .Net
- 3. ShellExecute equivalente en .NET
- 4. FileSystemWatcher para FTP
- 5. .NET equivalente de size_t
- 6. .NET equivalente de StrCmpLogicalW
- 7. .net equivalente de htmlunit?
- 8. .NET filesystemwatcher - ¿era un archivo o un directorio?
- 9. .NET JAXB equivalente?
- 10. GWT equivalente para .NET?
- 11. .NET equivalente para GetLastInputInfo?
- 12. Equivalente de cargadores de clase en .NET
- 13. .NET equivalente de Java's List.subList()?
- 14. equivalente de Maven para .Net
- 15. ¿Hay un equivalente de JMS en .NET?
- 16. equivalente de Java para MEF en .NET
- 17. ¿Hay un equivalente de "gettimeofday" en .NET
- 18. FileSystemWatcher Network Disconnect
- 19. FileSystemWatcher y Windows 7
- 20. FileSystemWatcher no funciona correctamente
- 21. FileSystemWatcher Dispose call cuelga
- 22. FileSystemWatcher causa bloqueo en el escritorio
- 23. filesystemwatcher como servicio de Windows?
- 24. FileSystemWatcher y desconexión de red?
- 25. Servicio de Windows w/FileSystemWatcher en C#
- 26. ¿Cuál es el Cocoa Touch equivalente a NSArrayController?
- 27. Java equivalente a .NET System.InvalidOperationException
- 28. .NET equivalente a Delphi's forceDirectory
- 29. factorygirl/maquinista equivalente en C# /. Net
- 30. ¿Hay equivalente .NET TypeConverter en Java
Sólo una sugerencia: "dame una solución" podría interpretarse como saliendo ligeramente abrasiva en Inglés, y también implica que usted puede no haber buscado una respuesta por sí mismo. Es una buena forma para Google antes de publicar una pregunta. :-) –