Stellen Sie sicher, dass Objective-C-Code ausgeführt wird, bevor Cocoa Application beendet wird
Angenommen, eine Kakao-App muss vor dem Beenden eine wichtige Ziel-c-Operation ausführen (aus irgendeinem Grund - Absturz oder Beenden).
Ist es möglich, die Ausführung von beliebigem Objective-C-Code als Reaktion auf jedes Absturzereignis sicherzustellen? (SIGINT
, SIGBUS
, SIGSEGV
, etc, ignoriert die "uncatchables" (SIGSTOP
, SIGKILL
, Blitz usw.))
Es wäre hilfreich zu wissen, was Ihre Hooks versuchen.
Beispiel: Nehmen wir an, dass die App für den Betrieb unbedingt den Wert einer systemweiten Konfigurationsvariablen X ändern muss. Beim Start erstellt die App einen Schnappschuss des aktuellen Status von X und ändert ihn anschließend. Wenn die App erfolgreich beendet wird, wird X vor dem Beenden auf den verdeckten ursprünglichen Wert zurückgesetzt. Meine Frage lautet: Kann sichergestellt werden, dass X wiederhergestellt wird, auch wenn die App abstürzt?