Gibt es eine Möglichkeit, OS X Lion anzuweisen, die automatische Beendigung für eine bestimmte Anwendung zu deaktivieren, die Sie nicht automatisch beenden möchten?
FYI Lion ist ein Quitter, wenn Sie nicht bereits wussten, was ist, wenn Sie nicht möchten, dass es für eine bestimmte Anwendung ist.
Lion beendet Ihre laufenden Anwendungen hinter Ihrem Rücken, wenn es entscheidet, dass es die Ressourcen benötigt, und wenn Sie sie scheinbar nicht verwenden. Die Heuristik zur Bestimmung, ob eine Anwendung "in Verwendung" ist, ist sehr konservativ: Sie darf nicht die aktive Anwendung sein, sie darf keine sichtbaren, nicht minimierten Fenster haben - und natürlich muss sie automatisch die automatische Beendigung unterstützen.
Angenommen, ich möchte nicht, dass TextEdit automatisch beendet wird, wenn keine TextEdit-Fenster geöffnet sind, und zu einer anderen Anwendung wechseln.
Nachdem ich mir den Abschnitt im Mac App-Programmierhandbuch für die automatische Beendigung angesehen hatte, dachte ich, ich würde versuchen, den Schlüssel NSSupportsAutomaticTermination mit dem Wert No zur Datei Info.plist für TextEdit hinzuzufügen. (Hat nicht funktioniert: TextEdit stürzt beim Öffnen ab.)
Zu beachten ist, dass die Datei keinen NSSupportsAutomaticTermination-Schlüssel enthielt (was bedeutet, dass Apple NSProcessInfo verwendet hat , um die automatische Terminierung zu aktivieren), sodass das Hinzufügen eines Schlüssels wahrscheinlich sowieso keine Auswirkung hat, da NSProcessInfo den Inhalt der Plist-Datei überschreibt. (Verifiziert, dass dies nicht funktioniert, indem Sie TextEdit mit einer geänderten Info.plist selbst signieren, die den Schlüssel NSSupportsAutomaticTermination und den Wert No enthält.)
Ein Nebeneffekt ist, dass das Ändern von Elementen in der Datei Info.plist dazu führt, dass TextEdit beim Öffnen abstürzt. Die Ursache wird im Absturzprotokoll als "Codesignatur ungültig" vermerkt. Dies bedeutet, dass die TextEdit-App und ihr gesamter Inhalt mit Code signiert sind. Die Problemumgehung besteht darin, die App mithilfe des codesign
Befehls und eines selbstsignierten Stammzertifikats selbst zu signieren , wie in der Aufgabe "Codesignatur" angegeben .
Nach dem, was ich bisher versucht habe, befolgt TextEdit immer noch die automatische Beendigung.
quelle
Antworten:
Dein Wunsch ist mein Terminalbefehl ;-)
Da die automatische Beendigung die Anwendungen nicht wirklich beendet, sondern sie ausgeblendet hat, müssen sie ordnungsgemäß beendet worden sein, damit dies wirksam wird.
quelle
Es gibt eine sichere Möglichkeit, dies zu beheben, wenn Ihre Hardware dies unterstützt. Sie können ein Upgrade von Mac OS X 10.7 (Lion) auf Mac OS X 10.6 (Snow Leopard) durchführen.
Obwohl nicht alle Hardware, auf der Lion ausgeführt wird, dieses verbesserte Betriebssystem unterstützen kann (mein MacBook Air Mitte 2011 leider nicht), enthält es Funktionen wie Rosetta (die nicht automatisch beendet werden kann), mit der Intel-Prozessoren für PPC kompilierte Software ausführen können Prozessoren) und Kompatibilität mit den Aufnahmefunktionen pro App im hervorragenden WireTap Studio.
Wie bei jedem Upgrade gehen einige Funktionen verloren (wie Mission Control , Launch Pad , einige Gesten) und einige Betriebssystem-Macken sind gewöhnungsbedürftig (die Richtung des Bildlaufs ist beispielsweise umgekehrt), aber alles in allem ist es eine feines Upgrade.
quelle