Garantir a execução do código Objective-C antes da saída do aplicativo de cacau
Suponha que um aplicativo de cacau deve executar alguma operação objetivo-c vitalmente importante antes de sair (por qualquer motivo - travar ou parar).
É possível garantir a execução arbitrária do código objetivo-c em resposta a cada evento de colisão? (SIGINT
, SIGBUS
, SIGSEGV
, etc, ignorando os "uncatchables" (SIGSTOP
, SIGKILL
raio de luz, etc.))
Seria útil saber o que seus ganchos estão tentando fazer.
Por exemplo: digamos que para o aplicativo operar, é absolutamente necessário alterar o valor de alguma variável de configuração X do sistema mutável. Na inicialização, o aplicativo tira um instantâneo do estado atual de X e, em seguida, o modifica. Quando o aplicativo sai com sucesso, ele apenas restaura X para o valor original armazenado antes de ser finalizado. Minha pergunta é a seguinte: é possível garantir que o X seja restaurado mesmo se o aplicativo travar?