दिलचस्प पोस्ट
है प्रदर्शन के लिए महत्वपूर्ण है? कई अनुबंधों के साथ WCF सेवाहोस्ट चलाएं कैसे "पूरी तरह से" एक dict पर ओवरराइड? प्रोग्राम की मशीन पर कोर की संख्या का पता लगाएं कैसे xcode में ENABLE_BITCODE 7? एंड्रॉइड- मैं पाठ का दृश्य पर पाठ चयन कैसे दिखा सकता हूं? इकाई फ़्रेमवर्क 4.1 InverseProperty विशेषता Xcode और SDK 4+ का उपयोग करके वसा स्थिर लाइब्रेरी (उपकरण + सिम्युलेटर) बनाएं मैं केवल एक Git रिपॉजिटरी की उपनिर्देशिका कैसे क्लोन करता हूं? पटरियों 3 SQLite3 बूलियन झूठी एमवीसी एचटीएमएल हैपरर्स और लैम्ब्डा एक्सप्रेशन्स पैरामीटर में स्लैश वाले यूआरएल? एक उपयोगकर्ता नियंत्रण में सी # # # # # # # # # # # # # # # # # # अपरिभाषित व्यवहार और अनुक्रम अंक Gradle DSL विधि नहीं मिला: 'संकलन ()'

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

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

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

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

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

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 के लिए सभी पंजीकृत हैंडलर एप्लिकेशन का चयन करने देगा। डिफ़ॉल्ट रूप से पिछली अनुदेशों को देखने के लिए स्वयं को ऐप सेट करना होता है।