2011-01-21 16 views
8

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

उत्तर

15

कस्टम यूआरएल ऐप्स ऐप्पल द्वारा स्वीकार किए जाते हैं। हालांकि यदि डिवाइस पर एकाधिक ऐप्स ने एक ही यूआरएल योजना पंजीकृत की है तो व्यवहार अपरिभाषित है। iOS Application Programming Guide से, "यदि एक ही यूआरएल योजना को संभालने के लिए एकाधिक तृतीय-पक्ष अनुप्रयोग पंजीकृत होते हैं, तो यह अनिर्धारित है कि उस प्रकार के यूआरएल को संभालने के लिए कौन से अनुप्रयोगों को चुना जाता है।"

+0

लेकिन यह सवाल का जवाब नहीं देता है। यह क्या करता है??? – eggie5

+4

@ अंडी 5, यह स्पष्ट रूप से ऐप्पल ने कहा है कि व्यवहार अपरिभाषित है। तो आप बिल्कुल नहीं बता सकते कि क्या होगा। – taskinoor

+3

@ टास्कनूर मुझे लगता है कि "स्पष्ट रूप से कहा गया" और सेब कहता है "अपरिभाषित" बल्कि ऑक्सीमोरोन है। क्या हुआ? क्या यह एक त्रुटि उठाता है? क्या फोन बंद हो जाता है, क्या स्टॉक मार्केट क्रैश होता है ??? – eggie5

-1

इस है कि आप

http://iosdevelopertips.com/cocoa/launching-your-own-application-via-a-custom-url-scheme.html

पा रहे हैं इस लेख यह संभव है कि सेब आपके आवेदन को अस्वीकार कर सकते हैं हो सकता है पढ़कर आपका जवाब हो सकता है, फिर भी आप सेब द्वारा प्रदान की गाइड लाइन पढ़ सकते हैं। धन्यवाद

10

संक्षिप्त उत्तर: यूआरएल रजिस्टर करने वाला पहला ऐप कभी-कभी खुल जाएगा लेकिन यह अक्सर खुलने में विफल रहेगा। पंजीकरण के लिए दूसरी बार दूसरा ऐप खुल जाएगा लेकिन अक्सर असफल हो जाता है। असल में यह बहुत असफल हो जाता है और वास्तव में "अपरिभाषित" होता है। टालने के लिए http://handleopenurl.com/ का उपयोग करें।

लांग उत्तर:

मैं दो क्षुधा, FirstApp और SecondApp बनाया है, और दोनों के लिए समान URL testURL पंजीकृत।

मैंने फर्स्ट ऐप लोड किया और यूआरएल ऐप खोलने के लिए अपेक्षित काम करता था।

मैंने फिर दूसरा ऐप लोड किया और डरावना अपरिभाषित व्यवहार शुरू हुआ। वर्तमान में, आईओएस 7 के तहत, यदि दो क्षुधा है समान कस्टम URL पंजीकृत यह एक मॉडल पूछ

ओपन "सबसे पहले अनुप्रयोग का नाम" में इस पेज पॉप अप होता है?

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

तो असल में, पंजीकरण करने वाला दूसरा ऐप कभी खोला नहीं जाता है, और पहला ऐप हर दो यूआरएल कॉल में विफल रहता है। कोई आदर्श व्यवहार नहीं।

इससे और भी बदतर हो जाता है कि मैंने दोनों ऐप्स हटा दिए और फिर मैंने उन्हें स्थापित ऑर्डर को स्विच किया और परिणाम सुसंगत नहीं हैं। कभी-कभी यह एक ऐप है, फिर दोनों ऐप्स को पुनः लोड करने पर यह दूसरा है। व्यवहार वास्तव में "अपरिभाषित" है।

सर्वोत्तम अभ्यास http://handleopenurl.com/ का उपयोग करना है यह देखने के लिए कि कौन से यूआरएल पंजीकृत हैं और एक ऐसा चुना है जो अन्य ऐप्स के साथ संघर्ष नहीं करेगा। आप एक और यूआरएल "चोरी" नहीं कर सकते क्योंकि आप यह सुनिश्चित नहीं कर सकते कि आपका ऐप खुल जाएगा, न कि अन्य ऐप।

संबंधित मुद्दे