2010-01-19 6 views
38

मैं एक नौसिखिया आईफोन डेवलपर हूं, एक ऐप लिख रहा हूं जो एक वेबसाइट का "मोबाइल संस्करण" होगा।आईफोन ऐप्स: क्या मैं किसी वेबसाइट से किसी लिंक से ऐप खोल सकता हूं?

मुझे आश्चर्य है कि वेबसाइट में किसी लिंक से अपना ऐप लॉन्च करना संभव है या नहीं। इसलिए, उदाहरण के लिए, कोई आईफोन सफारी में हमारी साइट पर जाता है, एक लिंक पर क्लिक करता है, और हमारा ऐप लॉन्च होता है।

क्या यह संभव है?
यदि ऐसा है तो मैं ऐप में "पैरामीटर पास" भी कर सकता हूं? जैसा कि ...
विभिन्न लिंक पर क्लिक करने से उन्हें लॉन्च समय पर ऐप में अलग-अलग सामान मिलने की अनुमति मिल जाएगी।

धन्यवाद!
डैनियल

उत्तर

51

कुछ ऐप्स में यूआरएल योजनाएं हैं जो उन्हें लॉन्च करेगी। यदि किसी ऐप ने इस योजना को प्रकाशित किया है (या यदि आप अपने बंडल में चारों ओर खुदाई करते हैं) तो आप इसे लॉन्च कर सकते हैं। उदाहरण के लिए, एक काल्पनिक ट्विटर ऐप ट्विटर ट्विटर के साथ लॉन्च हो सकता है: // यहां + है + मेरा + ट्वीट यूआरएल। यदि आप सही यूआरएल योजना के साथ अपने ऐप को प्रीलोड करते हैं, तो आप इसे भी अपने लिए कर सकते हैं।

<key>CFBundleURLTypes</key> 
<array> 
    <dict> 
     <key>CFBundleURLName</key> 
     <string>com.standalone.cooltwitterapp</string> 
     <key>CFBundleURLSchemes</key> 
     <array> 
      <string>twitterapp</string> 
     </array> 
    </dict> 
</array> 
+1

इसका उत्तर देने जा रहा था। +1 –

+2

जब आप 'http: // youtube.com/'लिंक पर क्लिक करते हैं तो यूट्यूब ऐप कैसे खुलता है (यानी नहीं' यूट्यूब: //') – andrewtweber

+1

@ एंड्रयूवेबर ओएस विशेष रूप से हैंडल करता है: http: // developer। apple.com/library/ios/#featuredarticles/iPhoneURLScheme_Reference/Introduction/Introduction.html#//apple_ref/doc/uid/TP40007899 – TofuBeer

6

हाँ आप कर सकते हैं, का उपयोग कर custom URI schemes:

यहाँ Info.plist से एक नमूना URL योजना है। हालांकि, ध्यान दें कि ऐप के बिना ग्राहक लिंक का उपयोग करने में सक्षम होंगे।

यदि मैं लॉन्च कर रहा हूं तो मैं भी "पैरामीटर पास कर सकता हूं"?

फिर से, हाँ। एक बार आपके ऐप ने किसी दिए गए योजना के लिए पंजीकरण कर लिया है तो यह सब तुम्हारा है।

+2

क्यों कुकी को स्टोर नहीं करना है कि क्लाइंट के पास ऐप है या कुकी पर आधारित एक लिंक या दूसरा प्रदर्शित करें। यदि आपको कुकी नहीं मिलती है, तो इसके बजाय एक प्रश्न प्रदर्शित करें: "क्या आपके पास XYZ ऐप इंस्टॉल है?" अगर वे कहते हैं "नहीं", इसे तुरंत स्थापित करने की पेशकश करें। – iconoclast

+1

लिंक का उल्लेख अब काम नहीं करता है। – Ju66ernaut

+0

@ Ju66ernaut अपडेटेड लिंक। धन्यवाद। – jensgram

9

यह भी ध्यान देने योग्य है कि application:openURL:sourceApplication:annotation: विधि आपके यूआरएल से लॉन्च होने पर कॉल की जाएगी। विवरण Apple's Docs पर।

+1

मैंने आपका लिंक तय किया (यह टूटा हुआ था)। इसके अलावा उनके दस्तावेज़ कहते हैं कि handleOpenURL को बहिष्कृत किया गया है और इसके बजाय एक अलग openURL फ़ंक्शन का उपयोग किया जाना चाहिए। – eodabash

+1

यह सही है, 'handleOpenURL:' को बहिष्कृत किया गया है। इस 'एप्लिकेशन का प्रयोग करें: openURL: स्रोत आवेदन: एनोटेशन:' इसके बजाए। –

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