दिलचस्प पोस्ट
मेकफाइल, मैं उनका उपयोग कैसे कर सकता हूं? क्लाइंट साइड जावास्क्रिप्ट में Express.js स्थानीय चर तक पहुंच एचटीटीपी से रिमोट सर्वर से छवि कॉपी करें स्थिर कंट्रास्ट एएन के लिए अनिर्धारित संदर्भ मैं स्थानीय रूप से कुछ फाइलों को अनदेखा करने के लिए कैसे git कॉन्फ़िगर करूं? भिन्न-भिन्न तर्क सूची में किस प्रकार के डिफ़ॉल्ट प्रचार हैं? लिंट: कैसे अनदेखा करें "<key> में <language>" त्रुटियों में अनुवाद नहीं किया गया है? क्यों stdfax.h पहले एमएफसी अनुप्रयोगों में शामिल होना चाहिए? आईओएस वीओआईपी सॉकेट पृष्ठभूमि में नहीं चलेगा oracle11g में पैरामीटर वाला दृश्य बना रहा है दो MySQL डाटाबेस की तुलना करें निर्भरता इंजेक्शन और जावा एफएक्स फोकस पर EditText सेट करें एचटीएमएल में एक फ़ाइल इनपुट के लिए एक मान कैसे सेट करें? ग्राफ़ एपीआई 'गलत' या 'असम्बद्ध प्राप्त अनुरोध' सार्वजनिक फेसबुक पेज का उपयोग करता है

आप अपने कोको एप्लिकेशन को डिफ़ॉल्ट वेब ब्राउज़र के रूप में कैसे सेट करते हैं?

आप अपने कोको एप्लिकेशन को डिफ़ॉल्ट वेब ब्राउज़र के रूप में कैसे सेट करते हैं?

मैं एक ऐसा अनुप्रयोग बनाना चाहता हूं जो डिफ़ॉल्ट रूप से लॉन्च किया जाता है जब उपयोगकर्ता अन्य अनुप्रयोगों (मेल, iChat आदि) में एक HTTP या HTTPS लिंक पर क्लिक करता है।

वेब के समाधान से एकत्रित समाधान "आप अपने कोको एप्लिकेशन को डिफ़ॉल्ट वेब ब्राउज़र के रूप में कैसे सेट करते हैं?"

एक ऐप बनाने के लिए चार कदम हैं जो डिफ़ॉल्ट वेब ब्राउज़र के रूप में कार्य कर सकते हैं। पहले तीन चरणों में आपके ऐप को प्रासंगिक यूआरएल योजनाओं (एचटीटीपी और एचटीटीपीएस) के लिए एक रोल हेन्डलर के रूप में कार्य करने की अनुमति मिलती है और अंतिम चरण उन योजनाओं के लिए डिफ़ॉल्ट भूमिका हैंडलर बनाता है

1) यूआरएल योजनाएं जो आपके ऐप को आपकी एप्लिकेशन की जानकारी। प्लिस्ट फ़ाइल में संभाल सकती है उसे जोड़ें

http:// और https:// लिए सहायता जोड़ने के लिए आपको अपने एप्लिकेशन की जानकारी। प्लिस्ट फ़ाइल में निम्नलिखित को जोड़ने की आवश्यकता होगी। यह ओएस को बताता है कि आपका ऐप्लिकेशन एचटीटीपी और एचटीटीपी यूआरएल को संभालने में सक्षम है।

 <key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLName</key> <string>http URL</string> <key>CFBundleURLSchemes</key> <array> <string>http</string> </array> </dict> <dict> <key>CFBundleURLName</key> <string>Secure http URL</string> <key>CFBundleURLSchemes</key> <array> <string>https</string> </array> </dict> </array> 

2) एक URL हैंडलर विधि लिखें

इस विधि को ओएस द्वारा बुलाया जाएगा, जब वह यूआरएल खोलने के लिए आपके आवेदन का उपयोग करना चाहता है। इससे कोई फर्क नहीं पड़ता कि आप इस विधि को किस ऑब्जेक्ट में जोड़ते हैं, जो अगले चरण में इवेंट मैनेजर को स्पष्ट रूप से पारित किया जाएगा। यूआरएल हैंडलर विधि कुछ इस तरह दिखनी चाहिए:

 - (void)getUrl:(NSAppleEventDescriptor *)event withReplyEvent:(NSAppleEventDescriptor *)replyEvent { // Get the URL NSString *urlStr = [[event paramDescriptorForKeyword:keyDirectObject] stringValue]; //TODO: Your custom URL handling code here } 

3) यूआरएल हैंडलर विधि को पंजीकृत करें

इसके बाद, इवेंट मैनेजर को बताएं जो एक यूआरएल को लोड करने के लिए आपके ऐप का इस्तेमाल करना चाहता है, जब वह कॉल करने के लिए ऑब्जेक्ट और मैनेजमेंट करता है। यहां कोड में मैं self को ईवेंट हैंडलर के रूप में पारित कर रहा हूं, यह मानते हुए कि हम setEventHandler को उसी ऑब्जेक्ट से बुला रहे हैं जो getUrl:withReplyEvent: को परिभाषित करता है getUrl:withReplyEvent: विधि

आपको इस कोड को कहीं भी अपने एप्लिकेशन के प्रारंभिक कोड में जोड़ना चाहिए।

 NSAppleEventManager *em = [NSAppleEventManager sharedAppleEventManager]; [em setEventHandler:self andSelector:@selector(getUrl:withReplyEvent:) forEventClass:kInternetEventClass andEventID:kAEGetURL]; 

एडोब एयर के शुरुआती संस्करणों सहित कुछ एप्लिकेशन, एप्लिकेशन के यूआरएल को खोलने के लिए वैकल्पिक WWW! / OURL AppleEvent का उपयोग करते हैं, तो उन अनुप्रयोगों के साथ संगत होने के लिए आपको निम्न जोड़ना चाहिए:

 [em setEventHandler:self andSelector:@selector(getUrl:withReplyEvent:) forEventClass:'WWW!' andEventID:'OURL']; 

4) अपने ऐप को डिफ़ॉल्ट ब्राउज़र के रूप में सेट करें

हमने जो कुछ भी किया है वह सब कुछ हमने ओएस से कहा है कि आपका एप्लिकेशन एक ब्राउज़र है , अब हमें इसे डिफ़ॉल्ट ब्राउज़र बनाने की आवश्यकता है

ऐसा करने के लिए हमें लॉन्च सर्विसेज एपीआई का उपयोग करना होगा। इस मामले में हम एचटीटीपी और एचटीटीपीएस लिंक के लिए हमारे ऐप को डिफॉल्ट रोल हेन्डलर बना रहे हैं:

 CFStringRef bundleID = (CFStringRef)[[NSBundle mainBundle] bundleIdentifier]; OSStatus httpResult = LSSetDefaultHandlerForURLScheme(CFSTR("http"), bundleID); OSStatus httpsResult = LSSetDefaultHandlerForURLScheme(CFSTR("https"), bundleID); //TODO: Check httpResult and httpsResult for errors 

(अपने डिफ़ॉल्ट ब्राउज़र को बदलने से पहले उपयोगकर्ता की अनुमति पूछने के लिए शायद सबसे अच्छा है।)

कस्टम यूआरएल योजनाएं

यह ध्यान देने योग्य है कि आप अपने स्वयं के कस्टम यूआरएल योजनाओं को संभालने के लिए इन चरणों का उपयोग भी कर सकते हैं। यदि आप एक कस्टम यूआरएल योजना बना रहे हैं तो यह अन्य ऐप के साथ संघर्ष से बचने के लिए अपने ऐप के बंडल पहचानकर्ता पर आधार करने के लिए एक अच्छा विचार है। इसलिए यदि आपकी बंडल आईडी com.example.MyApp तो आप को x-com-example-myapp:// यूआरएल का उपयोग करने पर विचार करना चाहिए।

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