ऐप बंडल को पंजीकृत करने से लॉन्च सेवाओं को प्रतिबंधित करें


0

क्या मैक ओएसएक्स पर लॉन्च सेवाओं को प्रतिबंधित करना संभव है (मैं योसेमाइट पर हूं लेकिन मुझे लगता है कि पुराने संस्करणों पर भी यही लागू होता है) कुछ ऐप बंडलों को पंजीकृत करने से?

उदाहरण के लिए, यदि मेरे पास मेरी डिस्क पर एक ही एप्लिकेशन के कई ऐप बंडल कॉपी हैं, तो मैं उन सभी को "ओपन विथ" मेनू में उस प्रकार के लिए प्रदर्शित नहीं करना चाहता जो वे संभालते हैं। मैं चाहता हूं कि केवल एक / एप्लिकेशन "पंजीकृत" हो।

मुझे पता है कि मैं "ओपन विथ" मेनू में डुप्लिकेट को साफ कर सकता हूं, लेकिन ऐसा नहीं है (मेरे पास वास्तव में उन एप्लिकेशन बंडल डिस्क पर एक अलग स्थान पर हैं)। मैं उन ऐप बंडलों का नाम बदलना भी नहीं चाहता, उन्हें छिपे हुए फ़ोल्डर में डाल दूं या उन्हें संग्रहीत कर दूं।

क्या इस व्यवहार को मोड़ना संभव है?

जवाबों:


2

आप उपयोग कर सकते हैं lsregister -u एक आवेदन को अपंजीकृत करने के लिए:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -u /path/to/application.app

आवेदन कुछ बिंदु पर फिर से पंजीकृत हो सकता है।

यदि आप केवल ओपन विथ मेनू से कोई एप्लिकेशन हटाना चाहते हैं, तो रन करें defaults delete /path/to/Application.app/Contents/Info.plist CFBundleDocumentTypes। संशोधित कर रहा है Info.plist कोड हस्ताक्षर को तोड़ता है अगर आवेदन पर हस्ताक्षर किए जाते हैं, और इसने 10.8 से लॉन्च होने पर सैंडबॉक्स एप्लिकेशन को क्रैश करने का कारण बना दिया है।


इस उत्तर पर आने वाले अन्य लोगों के लिए, lsregister पर है /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister मैक हाई सिएरा पर
Brett Zamir
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.