Czy istnieje sposób, aby powiedzieć OS X Lion, aby wyłączył automatyczne zakończenie dla danej aplikacji, której nie chcesz automatycznie kończyć?
FYI Lion jest poddawcą, jeśli jeszcze nie wiedziałeś, a co, jeśli nie chcesz, aby tak było w przypadku określonej aplikacji.
Lion porzuci działające aplikacje za twoimi plecami, jeśli uzna, że potrzebuje zasobów i jeśli nie używasz ich. Heurystyka określania, czy aplikacja jest „w użyciu”, jest bardzo konserwatywna: nie może być aktywną aplikacją, nie może mieć widocznych, nie zminimalizowanych okien - i oczywiście musi wyraźnie obsługiwać automatyczne kończenie.
Powiedzmy na przykład, że nie chcę, aby TextEdit automatycznie zamykał się, gdy nie mam otwartych okien TextEdit i przełączam się na inną aplikację.
Po zapoznaniu się z sekcją Przewodnik po programowaniu aplikacji Mac dla automatycznego zakończenia , pomyślałem, że spróbuję dodać klucz NSSupportsAutomaticTermination o wartości Nie do pliku Info.plist dla TextEdit. (Nie działało: TextEdit ulega awarii przy otwartym).
Należy zauważyć, że plik nie zawierał klucza NSSupportsAutomaticTermination (co oznacza, że Apple używał NSProcessInfo, aby włączyć automatyczne zakończenie), więc dodanie klucza i tak prawdopodobnie nie przyniesie żadnego efektu, ponieważ NSProcessInfo przesłania to, co jest w pliku plist. (Zweryfikowano, że to nie działa, poprzez samopodpisanie TextEdit ze zmodyfikowanym Info.plist, w tym kluczem NSSupportsAutomaticTermination i wartością Nie).
Jednym zauważonym efektem ubocznym jest to, że zmiana czegokolwiek w pliku Info.plist powoduje awarię TextEdit podczas otwierania. Przyczynę zanotowano w dzienniku awarii jako „nieprawidłowy podpis kodu”, co oznacza, że aplikacja TextEdit i cała jej zawartość są podpisane kodem. Obejściem tego problemu jest samopodpisanie aplikacji za pomocą codesign
polecenia i samopodpisanego certyfikatu głównego, zgodnie z opisem w zadaniu Podpisywanie kodu .
Po tym, co próbowałem do tej pory, TextEdit nadal stosuje się do automatycznego zakończenia.
źródło
Odpowiedzi:
Twoim życzeniem jest moje polecenie terminalu ;-)
Zauważ, że ponieważ automatyczne zakończenie tak naprawdę nie zamyka aplikacji, a raczej je ukrywa , musiały one zostać poprawnie zakończone, aby zadziałało.
źródło
Istnieje pewny sposób, aby to naprawić, jeśli twój sprzęt to obsługuje. Możesz uaktualnić system Mac OS X 10.7 (Lion) do Mac OS X 10.6 (Snow Leopard).
Chociaż nie wszystkie urządzenia, które będą uruchamiać Lion, mogą obsługiwać ten ulepszony system operacyjny (niestety mój MacBook Air z połowy 2011 r. Nie), zawiera on takie funkcje, jak nieterminowe zakończenie, Rosetta (która umożliwia procesorom Intel uruchamianie oprogramowania skompilowanego dla PPC procesory) oraz kompatybilność z funkcjami nagrywania dla poszczególnych aplikacji w doskonałym WireTap Studio.
Jak w przypadku każdej aktualizacji, niektóre funkcje są tracone (takie jak Kontrola misji , Panel uruchamiania , niektóre gesty), a niektóre dziwactwa systemu operacyjnego wymagają trochę przyzwyczajenia (na przykład kierunek przewijania jest odwrócony), ale w sumie jest to dobra aktualizacja.
źródło