2010-05-12 10 views

Respuesta

9

Puede hacer cosas similares usted mismo sin demasiado en el camino de la programación. En OSX, puede configurar "Folder Actions" para ejecutar un script, por ejemplo, cuando aparece un nuevo elemento en una carpeta, incluido el escritorio. A continuación, puede usar el script para hacer lo que quiera con los nuevos archivos.

This article at TUAW incluye un ejemplo de carga de archivos a un servidor web cuando llegan a una carpeta en particular.

Así que, básicamente, la respuesta es "Acciones de carpeta", o "algo está vigilando la carpeta y enviando notificaciones", en algún nivel. Si Cloud App usa Folder Actions o mira la carpeta en un nivel inferior, usando FSEvents/NSWorkspace, o los mecanismos de kqueue (para los cuales hay una buena clase de contenedor llamada UKKQueue, si no recuerdo mal, no sé cómo estoy al día está en ese!) es otro asunto ...

Puede implementar esto en varios niveles diferentes, dependiendo del resultado que desee, cómo desea diseñar lo que sea que realmente está haciendo, e incluso qué tipo de sistema de archivos al que está apuntando. Fundamentalmente, en Cocoa/Objective C, creo que probablemente quiera comenzar a buscar en FSEvents.

Una vez que tenga notificaciones de los cambios en el archivo, probablemente use algo como ConnectionKit para hacer la carga, cualquier biblioteca, realmente, eso significa que no tiene que preocuparse por el nivel de las tomas usted mismo - pero, de nuevo, hay muchas formas diferentes.

Depende, realmente, en qué nivel estás tratando de resolver el problema, y ​​si quieres construir algo para otras personas u obtener algo que te funcione. Si solo quisiera hacer algo para mí, probablemente podría haber algo improvisado usando la aplicación Transmit de Coda, y las Acciones de Carpeta, o tal vez Hazel, y un poco de Applescript, en una media hora como máximo, que haría el trabajo lo suficientemente bien para mí ...

+0

¡Esto parece genial! Lo cual es más fácil, FSEvents o NSWorkspace, y cómo lo hago ... Lo siento, soy tan novato. –

+0

Creo que FSEvents sería la forma normal de ir en estos días; Si echa un vistazo a http://stackoverflow.com/questions/913401/fsevents-weirdness-on-os-x-leopard <- esta pregunta anterior, la respuesta publicada se vincula a un proyecto de prueba completo bastante pequeño que monitorea un carpeta para cambios, aquí: http://bitbucket.org/boredzo/fs-notifier/src/5633027cded4 –

+0

Usando eso, puedo ver cuándo se modifica la carpeta de escritorio, pero no me dice qué archivo se modifica. ¿O hay un centro de notificación de captura de pantalla o algo así? –

-2

No estoy seguro de lo que está pidiendo exactamente. Si está solicitando una forma de tomar una captura de pantalla programáticamente en MacOSX, le sugiero que eche un vistazo al comando "captura de pantalla" (en la terminal, escriba "hombre captura de pantalla" para doc).

Si quieres hacerlo de la manera "difícil", deberías mirar this.

+0

Eso no es lo que pregunta el interrogador. El que pregunta está preguntando cómo controlar la carpeta de escritorio para los archivos de captura de pantalla creados de la manera normal (⇧⌘4 y amigos) y subirlos a un servidor. –

Cuestiones relacionadas