मैं एक फ़ाइल एक्सटेंशन को सामग्री प्रकार के साथ कैसे जोड़ सकता हूं?


9

मेरे पास एक्सटेंशन "मॉड्यूल" और "इंक" के साथ कुछ फाइलें हैं, जो PHP फाइलें हैं। जब मैं उन्हें खोलने की कोशिश करता हूं, तो उन अनुप्रयोगों की सूची जो उन्हें खोल सकते हैं, केवल उन्हीं एप्लिकेशन को दिखाता है जिन्हें मैंने डिफ़ॉल्ट एप्लिकेशन के रूप में सेट किया है, भले ही एक अन्य टेक्स्ट एडिटर है जो PHP फाइलें खोल सकता है, और जिसके लिए मैंने उन एक्सटेंशनों के साथ फाइलें सेट की हैं। PHP फ़ाइलों के रूप में हाइलाइट किया जाना है।

स्क्रीनशॉट

यदि मैं "गेट इन्फो" डायलॉग खोलता हूं, तो "ओपन विथ" में एक अन्य एप्लिकेशन चुनें और फिर "चेंज ऑल ..." पर क्लिक करें जो मुझे मिलता है वह निम्नलिखित है।

स्क्रीनशॉट

स्क्रीनशॉट

मैं जो प्राप्त करना चाहता हूं वह निम्नलिखित स्क्रीनशॉट में दिखाया गया है, जो एक अन्य प्रकार की फ़ाइल के लिए "ओपन विथ" मेनू दिखाता है:

स्क्रीनशॉट

क्या उन एक्सटेंशनों को PHP फ़ाइलों के लिए उपयोग की जाने वाली सामग्री प्रकार से संबद्ध करने का कोई तरीका है?
वैकल्पिक रूप से, मैं "ओपन विथ" मेनू के तहत दिखाए गए एप्लिकेशन की सूची में, उन सभी एप्लिकेशन को कैसे दिखा सकता हूं, जो PHP फाइलें खोल सकते हैं, जब फाइंडर ऐसा नहीं करता है?

मैं बताऊंगा कि RCDefaultApp के स्क्रीनशॉट का उपयोग करके मुझे क्या प्राप्त करना है।

स्क्रीनशॉट

एक्सटेंशन के रूप में "मॉड्यूल" का उपयोग करने वाली एक फ़ाइल एक PHP फ़ाइल है, मेरे मामले में (यह एक ड्रुपल मॉड्यूल है); मैं जो चाहता हूं, वह "public.php-script" UTI के लिए रिपोर्ट किए गए एक्सटेंशन को जोड़ रहा है।


मैं करने के लिए उत्सुक हूँ इस के रूप में अच्छी तरह से पता - निकटतम मैं मिल गया है के बारे में पूछ यूटीआई और लॉन्च सेवाएं SuperUser पर ...
bmike

मुझे लगता है कि RCDefaultApp का उपयोग करना, जैसा कि कुंगी ने उत्तर दिया था। लेकिन अगर आपको लगता है कि उस विशेष प्रकार (एक्सटेंशन) को इन सामग्री प्रकारों के लिए मैप किया जाना चाहिए, तो आप इसके लिए प्रस्ताव करने के लिए ऐप निर्माताओं को लिखने पर विचार कर सकते हैं।
अगोस

जवाबों:


3

आप जो हैं उसके बाद प्राप्त करने के लिए एक सुरक्षित और उचित तरीका नहीं है क्योंकि ओएस का यह फ़ंक्शन लॉन्च सर्विसेज डेटाबेस द्वारा नियंत्रित किया जाता है। डेवलपर्स पहले लॉन्च पर ओएस के साथ अपने अनुप्रयोगों के समर्थन को फाइलपेट पंजीकृत करते हैं।

इसे ठीक करने का सबसे अच्छा तरीका डेवलपर को अपने आवेदन के भविष्य के संस्करण में फ़ाइल एक्सटेंशन के लिए समर्थन जोड़ना है।

इसके साथ ही आपने कहा है कि Apple सेवाओं को लॉन्च करने वाले डेटाबेस के ओवरराइडिंग के लिए Apple द्वारा पेश किया गया एकमात्र तरीका पहले ही मिल चुका है। अगर आप गहरी खुदाई करना चाहते हैं और सड़क कम लेना चाहते हैंकूच यहाँ समर्थित कुछ संकेत हैं।

एक .plist फ़ाइल होती है जो लॉन्च सेवाओं के उस भाग का संचालन करती है: ~ / लाइब्रेरी / वरीयताएँ / com.apple.LaunchServices.plist

ऐप्पल नोटों कि इस plist को हटाने से प्रासंगिक मेनू विकल्पों के साथ अवांछित ओपन को साफ किया जा सकता है। लेकिन आप इसके बाद के विपरीत हैं।

यह एक द्विआधारी .plist है, लेकिन आप इसे एक xml संस्करण में बदल सकते हैं और यह देखने के लिए थोड़ा प्रयोग कर सकते हैं कि क्या आप इसे प्राप्त करने के लिए एक नुस्खा के साथ आ सकते हैं। यह उचित नहीं है, इससे नुकसान हो सकता है, और यह संभवतः किसी बिंदु पर ओएस द्वारा अधिलेखित हो जाएगा।

OS में थोड़ा गहरा छिपा हुआ एक टूल भी है जिसे lsregister कहा जाता है जो लॉन्च सर्विसेज की प्लंबिंग का पता लगाने में मददगार हो सकता है। यहाँ lsregister और इसके विकल्पों का एक सहायक विवरण दिया गया है


3

Gerry द्वारा उल्लिखित समाधान का विकल्प RCDefaultApp वरीयता फलक है। यह मुफ़्त है और आप अपने सिस्टम पर सभी एप्लिकेशन-> सामग्री प्रकार, एप्लिकेशन-> URL कनेक्शन सेट करते हैं।

RCDefaultApp के "एप्लिकेशन" फलक में आप सेट कर सकते हैं कि आप किस फ़ाइल को टाइप करते हैं एक विशिष्ट एप्लिकेशन का समर्थन करता है जब आप अपने संपादक के साथ "php" की जांच करते हैं तो यह "ओपन विथ" मेनू में भी दिखाई देगा।


यह UTI या सामग्री प्रकार से जुड़े लोगों के लिए एक्सटेंशन जोड़ने की अनुमति नहीं देता है। यह फ़ाइलों को खोलने वाले डिफ़ॉल्ट एप्लिकेशन को बदलने की अनुमति देता है, जो अनिवार्य रूप से वह है जो फाइंडर पहले से ही अनुमति देता है; अंतर यह है कि RCDefaultApp के साथ आप इसे उसी स्थान (वरीयता पैनल) से बदलते हैं।
किमलालुनो

@ kiamlaluno - लेकिन आप एक नया moduleएक्सटेंशन बना सकते हैं और फिर इसे अपने ऐप के साथ जोड़ सकते हैं। या इससे क्या समस्या है ??
रेने लार्सन

समस्या किसी एप्लिकेशन के साथ एक्सटेंशन को जोड़ नहीं रही है, जो उस एक्सटेंशन के लिए डिफ़ॉल्ट एप्लिकेशन बन जाएगा; समस्या स्वचालित रूप से "ओपन विद" में आवेदनों की सूची पहले से आबाद है। यदि आप प्रश्न में उपयोग किए गए तीसरे स्क्रीनशॉट को देखते हैं, तो ".inc" एक्सटेंशन के लिए Xcode, डैशकोड और कंसोल दिखाए जाते हैं, लेकिन मैंने उन एप्लिकेशन को एक्सटेंशन के साथ संबद्ध नहीं किया है।
kiamlaluno

0

संदर्भ मेनू में, गेट इन्फो चुनें, "ओपन विद:" पेन का उपयोग करने के लिए प्रोग्राम चुनें और "चेंज चेंज ..." पर क्लिक करें।


2
मैंने यह कोशिश की, लेकिन एकमात्र प्रभाव उन फ़ाइलों के लिए डिफ़ॉल्ट एप्लिकेशन को बदल रहा है, जबकि मैं डिफ़ॉल्ट एप्लिकेशन को रखना चाहता हूं, लेकिन "ओपन विथ" सबमेनू में दिखाए गए एप्लिकेशन की सूची में एक और एप्लिकेशन दिखा रहा है।
kiamlaluno
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.