OS X Lion'a, otomatik sonlandırmak istemediğiniz belirli bir uygulama için otomatik sonlandırmayı devre dışı bırakmasını söylemenin bir yolu var mı?
FYI Lion, daha önce bilmiyorsanız, ya da belirli bir Başvuru için olmasını istemiyorsanız bir meraklısıdır.
Lion, kaynaklara ihtiyaç duyduğuna karar verirse ve bunları kullanıyor gibi görünmüyorsa, çalışan uygulamalarınızı arkadan bırakacaktır. Bir uygulamanın “kullanımda” olup olmadığını belirleme konusundaki buluşsal yöntem çok muhafazakârdır: etkin uygulama olmamalı, görünür, küçültülmemiş pencereleri olmamalıdır - ve elbette Otomatik Sonlandırmayı açıkça desteklemelidir.
Örneğin, açık bir TextEdit penceresi olmadığında TextEdit'in otomatik olarak çıkmasını istemediğimi ve başka bir Uygulamaya geçmediğimi varsayalım.
Bir göz aldıktan sonra otomatik TERMİNASYONUNDA Kılavuzu bölümüne Programlama Mac App ben TextEdit Info.plist dosyaya No değeriyle NSSupportsAutomaticTermination anahtarını eklemeyi deneyin düşündüm. (Çalışmadı: TextEdit açıkken kilitleniyor.)
Dikkat edilmesi gereken, dosyada NSSupportsAutomaticTermination anahtarı (Apple'ın otomatik sonlandırmayı etkinleştirmek için NSProcessInfo kullandığı anlamına gelir ) içermediğinden, NSProcessInfo plist dosyasında bulunanı geçersiz kıldığından, anahtar eklemenin muhtemelen hiçbir etkisi olmayacaktır. (NSSupportsAutomaticTermination anahtarı ve No değeri dahil olmak üzere değiştirilmiş bir Info.plist ile TextEdit'i kendi kendine imzalayarak bunun çalışmadığını doğruladı).
Belirtilen bir yan etki, Info.plist dosyasındaki herhangi bir şeyin değiştirilmesinin TextEdit'in açarken çökmesine neden olmasıdır. Nedeni, kilitlenme günlüğünden "kod imzası geçersiz" olarak belirtilir; bu, TextEdit uygulamasının ve tüm içeriğinin kod imzalı olduğu anlamına gelir. Çözüm, Kod İmzalama görevindecodesign
belirtildiği gibi , komutu ve kendinden imzalı bir kök sertifikayı kullanarak uygulamayı kendiliğinden imzalamaktır .
Şimdiye kadar denedikten sonra, TextEdit hala Otomatik Sonlandırmaya uyuyor.