क्या किसी दिए गए एप्लिकेशन के लिए ऑटो-टर्मिनेशन को अक्षम करने के लिए ओएस एक्स लॉयन को बताने का कोई तरीका है जिसे आप ऑटो टर्मिनेट नहीं करना चाहते हैं?
FYI करें शेर एक विचित्र है यदि आप पहले से ही नहीं जानते हैं, क्या होगा यदि आप नहीं चाहते कि यह एक निश्चित ऐपेटोन के लिए हो।
यदि यह तय करता है कि संसाधनों की आवश्यकता है, तो शेर आपकी पीठ के पीछे से आपके दौड़ने वाले अनुप्रयोगों को छोड़ देगा, और यदि आप उनका उपयोग नहीं करते हैं। यह निर्धारित करने के लिए कि क्या कोई एप्लिकेशन "उपयोग में" है, बहुत रूढ़िवादी है: यह सक्रिय अनुप्रयोग नहीं होना चाहिए, इसमें कोई दृश्यमान, गैर-न्यूनतम विंडो नहीं होना चाहिए - और निश्चित रूप से, यह स्वत: समाप्ति का स्पष्ट समर्थन करना चाहिए।
उदाहरण के लिए, मान लें कि मैं TextEdit को स्वचालित रूप से तब नहीं छोड़ना चाहता जब मेरे पास कोई TextEdit विंडो खुली न हो और किसी अन्य एप्लिकेशन पर स्विच न हो।
स्वत: समाप्ति के लिए मैक ऐप प्रोग्रामिंग गाइड सेक्शन पर एक नज़र डालने के बाद मुझे लगा कि मैं TextEdit के लिए No. Info.plist फ़ाइल के मूल्य के साथ NSSupportsAutomaticTermination कुंजी जोड़ने का प्रयास करूंगा। (काम नहीं किया: TextEdit खुले पर क्रैश हो जाता है।)
ध्यान दिया जाए, फ़ाइल में NSSupportsAutomaticTermination कुंजी (जिसका अर्थ है कि Apple ऑटो समाप्ति को सक्षम करने के लिए Apple NSProcessInfo का उपयोग कर रहा था ) को शामिल नहीं करता है, इसलिए एक कुंजी जोड़ने से शायद कोई प्रभाव नहीं होगा क्योंकि NSProcessInInterides की फाइल में क्या है। (सत्यापित यह काम नहीं करता है, NSSupportsAutomaticTermination कुंजी और नहीं के मूल्य सहित संशोधित Info.plist के साथ स्व-हस्ताक्षरित TextEdit द्वारा)।
एक साइड इफेक्ट का उल्लेख है कि Info.plist फ़ाइल में कुछ भी बदलने से TextEdit खुलने पर क्रैश हो जाता है। क्रैश लॉग को "कोड हस्ताक्षर अमान्य" के रूप में नोट किया गया है, जिसका अर्थ है कि TextEdit ऐप और इसकी सभी सामग्री कोड हस्ताक्षरित हैं। कोड साइनिंग कार्यcodesign
में बताए अनुसार कमांड और एक स्व-हस्ताक्षरित रूट प्रमाणपत्र का उपयोग करके ऐप को स्व- हस्ताक्षर करना है ।
मैंने अब तक जो भी कोशिश की है उसके बाद, TextEdit अभी भी ऑटोमैटिक टर्मिनेशन का पालन करता है।