¿Hay alguna manera de decirle a OS X Lion que desactive la terminación automática para una aplicación determinada que no desea que finalice automáticamente?
FYI Lion es un renunciador si aún no lo sabía, ¿qué pasa si no quiere que sea para una determinada Aplicación?
Lion cerrará sus aplicaciones en ejecución a sus espaldas si decide que necesita los recursos y si parece que no los está utilizando. La heurística para determinar si una aplicación está "en uso" es muy conservadora: no debe ser la aplicación activa, no debe tener ventanas visibles y no minimizadas, y, por supuesto, debe admitir explícitamente la terminación automática.
Por ejemplo, supongamos que no quiero que TextEdit se cierre automáticamente cuando no tengo ventanas TextEdit abiertas y cambiar a otra aplicación.
Después de echar un vistazo a la sección de la Guía de programación de aplicaciones de Mac para la terminación automática , pensé que intentaría agregar la clave NSSupportsAutomaticTermination con el valor de No al archivo Info.plist para TextEdit. (No funcionó: TextEdit se bloquea al abrir).
Para tener en cuenta, el archivo no incluía la clave NSSupportsAutomaticTermination (lo que significa que Apple estaba usando NSProcessInfo para habilitar la terminación automática), por lo que agregar una clave probablemente no tendría ningún efecto ya que NSProcessInfo anula lo que está en el archivo plist. (Verificado, esto no funciona, firmando TextEdit con una lista de información modificada que incluye la clave NSSupportsAutomaticTermination y el valor de No).
Un efecto secundario observado es que cambiar cualquier cosa en el archivo Info.plist hace que TextEdit se bloquee al abrirse. La causa se observa en el registro de fallos como "firma de código inválida", lo que significa que la aplicación TextEdit y todo su contenido están firmados por código. La solución consiste en codesign
autofirmar la aplicación con el comando y un certificado raíz autofirmado como se indica en la tarea Firma de código .
Después de lo que he intentado hasta ahora, TextEdit todavía obedece a la terminación automática.