Cuando un observador de archivos de Mac no detecta modificaciones, determine primero si el cambio llega a la carpeta observada, si la aplicación ve los eventos del sistema de archivos y si los filtra o no logra procesarlos. Reproduzca una omisión de cambio en un archivo pequeño y conocido, y luego compare ese resultado con un archivo en el proyecto grande. Esta secuencia ayuda a separar la configuración del proyecto de la entrega de eventos y del procesamiento de la aplicación.
1. Confirme la ruta exacta y el cambio
En la aplicación afectada, verifique qué carpeta está abierta como espacio de trabajo y confirme que el archivo editado esté dentro de esa carpeta. Un archivo puede aparecer en un editor estando fuera de la raíz observada; los enlaces simbólicos también pueden comportarse de manera diferente a las carpetas anidadas normales. Por ejemplo, VS Code documenta que su observador para macOS utiliza FSEvents, que los enlaces simbólicos no se siguen automáticamente y que su configuración de exclusión del observador puede omitir rutas. Esos detalles se aplican a VS Code, no a todas las aplicaciones de Mac, por lo que debe comprobar las opciones equivalentes de espacio de trabajo y exclusión en su propia herramienta. VS Code: File Watcher Issues
Guarde una edición sencilla en un archivo directamente dentro del proyecto y luego verifique si la aplicación reacciona. Si solo falla una ruta generada, ignorada, vinculada o profundamente anidada, investigue la inclusión de esa ruta y su relación con la raíz del espacio de trabajo antes de tratarlo como un problema general de macOS. Si el proyecto está en una unidad de red asignada o utiliza un sistema de archivos de terceros, pruebe una copia en el disco local de la Mac. VS Code advierte que no se garantiza que esos sistemas de archivos generen eventos; esa es una razón para comparar entornos, no una prueba de que todos esos volúmenes fallen.
2. Compruebe si la aplicación recibió eventos
Las notificaciones del sistema de archivos no son una promesa de una devolución de llamada precisa para cada edición individual. La documentación de FSEvents de Apple indica que los eventos pueden fusionarse (coalesced); cuando se establece el indicador MustScanSubDirs, el cliente debe volver a escanear recursivamente el directorio indicado. Los indicadores de eventos descartados señalan problemas de almacenamiento en búfer y requieren un escaneo completo de los directorios observados. Esto significa que un observador con un comportamiento adecuado debe conciliar el contenido actual del directorio, en lugar de depender únicamente de una secuencia perfecta de notificaciones. Apple: Using the File System Events API, Apple: FSEventStreamEventFlags
Busque registros o diagnósticos del observador en la aplicación que no detecta el cambio. En el caso de VS Code, su documentación describe cómo habilitar el registro detallado del observador de archivos e inspeccionar la salida del registro correspondiente. Otras aplicaciones pueden ofrecer diagnósticos diferentes o ninguno en absoluto. Si el registro informa eventos descartados, exclusiones, una raíz obsoleta o un error del observador, conserve ese mensaje y siga los pasos de recuperación propios de la aplicación; reiniciar el observador o la aplicación puede ser una comparación controlada útil, pero no identifica la causa subyacente por sí misma.
3. Utilice fs_usage para inspeccionar la actividad del sistema de archivos
macOS incluye fs_usage, que muestra la actividad continua de llamadas al sistema relacionadas con el sistema de archivos. Puede ayudar a determinar si la aplicación correspondiente está accediendo a los archivos durante una reproducción, pero no es un visor de eventos de FSEvents y no puede demostrar que el observador haya recibido o procesado una notificación. Apple señala que se aplican controles de acceso y que es posible que se requiera acceso de root. Apple: Examining File-System Usage
En Terminal, reproduzca el problema mientras observa la aplicación nombrada. Sustituya su nombre de proceso real por YourApp (por ejemplo, el nombre de proceso de una aplicación puede diferir de su nombre para mostrar):
sudo fs_usage -w YourApp
Detenga la visualización en vivo con Control-C tras la breve reproducción. La salida puede ser densa, así que concéntrese en el momento de la edición y en las rutas pertinentes. Si no está seguro del nombre del proceso, consulte la documentación de la aplicación o Monitor de Actividad; no asuma que filtrar por un nombre deducido mostrará el proceso correcto. fs_usage es una ayuda diagnóstica para la actividad de archivos, no un comando para restablecer o reparar un observador.
4. Compare la escala y las condiciones de acceso
Repita la misma edición en una carpeta de prueba local pequeña que la aplicación pueda observar. Si eso funciona mientras que el proyecto grande falla, compare las exclusiones específicas del proyecto, los enlaces simbólicos, los directorios generados y cualquier ruta remota o respaldada por un proveedor. Las estructuras de árbol grandes generan más trabajo tanto para el manejo de eventos como para el reescaneo; las directrices de Apple dejan claro que las notificaciones pueden requerir escaneos recursivos, mientras que la aplicación decide cómo gestionar ese trabajo. La correlación con el tamaño por sí sola no determina un límite en la cola de eventos del sistema operativo.
Verifique si la aplicación afectada puede acceder a la ubicación del proyecto. Los controles de privacidad de macOS y las reglas de App Sandbox pueden restringir el acceso a las carpetas, y Apple documenta que el acceso a ubicaciones protegidas puede requerir autorización del usuario en Ajustes del Sistema. Revise el estado de los permisos de la aplicación en Ajustes del Sistema > Privacidad y seguridad, y conceda únicamente el acceso necesario para la tarea. Un problema de permisos puede impedir el acceso útil a los archivos incluso cuando la ruta aparece en la aplicación. Apple: Accessing Files from the macOS App Sandbox
5. Elija el siguiente paso a partir de las pruebas
Si la carpeta local pequeña funciona, envíe al desarrollador de la aplicación una reproducción mínima con el tipo de ubicación del proyecto, el patrón de la ruta afectada, el registro relevante del observador y si interviene un enlace simbólico o una exclusión. Si fallan tanto la carpeta local pequeña como la grande, actualice la aplicación y consulte su seguimiento de problemas específico para la versión de macOS o las guías de soporte; informe de la versión de macOS y de la versión de la aplicación. Evite eliminar datos del proyecto o cambiar la configuración de seguridad del sistema como una solución especulativa. El diagnóstico útil es la condición reproducible más delimitada: una aplicación, una ruta, una edición y un fallo observable.
Fuentes
Using the File System Events API — Apple Developer
FSEventStreamEventFlags — Apple Developer
Examining File-System Usage — Apple Developer
Accessing Files from the macOS App Sandbox — Apple Developer
File Watcher Issues — Microsoft GitHub