Existe uma maneira de dizer ao OS X Lion para desativar o encerramento automático de um determinado aplicativo que você não deseja encerrar automaticamente?
Para sua informação, o Lion é um desistente, se você ainda não sabia, e se você não quiser que seja para um determinado aplicativo.
O Lion encerrará seus aplicativos em execução pelas costas se decidir que precisa dos recursos e se você não os estiver usando. A heurística para determinar se um aplicativo está "em uso" é muito conservadora: não deve ser o aplicativo ativo, não deve ter janelas visíveis e não minimizadas - e, é claro, deve oferecer suporte explícito à terminação automática.
Por exemplo, digamos que não quero que o TextEdit seja encerrado automaticamente quando não houver janelas do TextEdit abertas e mude para outro Aplicativo.
Depois de dar uma olhada na seção Guia de programação de aplicativos do Mac para finalização automática , pensei em tentar adicionar a chave NSSupportsAutomaticTermination com o valor de No no arquivo Info.plist do TextEdit. (Não funcionou: o TextEdit trava ao abrir.)
Observe que o arquivo não incluiu a chave NSSupportsAutomaticTermination (o que significa que a Apple estava usando o NSProcessInfo para habilitar o encerramento automático); portanto, adicionar uma chave provavelmente não teria nenhum efeito, já que o NSProcessInfo substitui o que está no arquivo plist. (Verificado, isso não funciona, assinando TextEdit com uma Info.plist modificada, incluindo a chave NSSupportsAutomaticTermination e o valor No).
Um efeito colateral observado é que alterar qualquer coisa no arquivo Info.plist faz com que o TextEdit falhe ao abrir. A causa é registrada no log de falha como "assinatura de código inválida", o que significa que o aplicativo TextEdit e todo o seu conteúdo são assinados por código. A solução alternativa é assinar automaticamente o aplicativo usando o codesign
comando e um certificado raiz autoassinado, conforme observado na tarefa de assinatura de código .
Depois do que tentei até agora, o TextEdit ainda obedece ao encerramento automático.