En Windows, es una práctica común crear un mutex con nombre y usar la presencia de eso para determinar que ya se está ejecutando una instancia de una aplicación determinada. Esto tiene sus inconvenientes, pero funciona principalmente.Forma ideal para aplicaciones de instancia única en Mac
No puedo pensar en una manera de hacer esto en el Mac:
- nombrados exclusiones mutuas pthread
- procesos Enumerar correr y buscar uno que coincida con
- crear y bloquear un archivo
¿Hay algo incorporado en Cocoa/Carbon que sea más fácil que las opciones anteriores? Si no, ¿cuál de los tres es el más utilizado en el mac? Supongo que 2 o 3 ...
solo mirando cómo se inician las aplicaciones y con las que interactué No creí que fuera posible tener varias instancias ... Al menos no con aplicaciones empaquetadas en una buena .app – Cogsy
Ok, hice un poco de trampa en mi pregunta. .. Realmente quería ejecutar una aplicación de prueba que hiciera un montón de validación pero iniciarla mientras se ejecutaba la aplicación causaba falsos positivos. Para no perder el tiempo persiguiendo problemas inútiles, quería que la aplicación de prueba rescatara con un error si la aplicación se está ejecutando. En Windows, lo resolví usando el enfoque de instancia única y asumí que quería hacer lo mismo para el mac. – psychotik
[utilizado NSRunningApplication detectar si la aplicación con mismo BundleID se está ejecutando, activarlo y cerrar lo que comienza.] [1] [1]: http://stackoverflow.com/questions/684911/how-to- detectar-si-un-os-x-aplicación-ya-se lanzó/23775478 # 23775478 –