2012-08-30 7 views
6

क्या मोनो टच के साथ एक कस्टम यूआरएल योजना या प्रोटोकॉल पंजीकृत करना संभव है, जैसे myapp: 123, मोनो टच के साथ? मैं अपने मोनो टच ऐप को लॉन्च करना चाहता हूं जब उपयोगकर्ता किसी वेब पेज, मेल या कैलेंडर विवरण में इस लिंक पर क्लिक करता है, और इस मामले में "123" यूआरएल "पैरामीटर" उठाएगा।कस्टम यूआरएल/प्रोटोकॉल के साथ मोनो टच आईफोन ऐप लॉन्च करें?

संक्षेप में मैं आईफोन में स्पॉटिफा ऐप के समान स्पष्टीकरण के साथ समान कार्यक्षमता चाहता हूं: ट्रैक: 123123 क्या यह किया जा सकता है?

उत्तर

4

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

सामान्य तौर पर, एक ही निर्देश आप एक नियमित ऑब्जेक्टिव-सी अनुप्रयोग के लिए होगा का पालन करें: http://developer.apple.com/library/ios/#DOCUMENTATION/iPhone/Conceptual/iPhoneOSProgrammingGuide/AdvancedAppTricks/AdvancedAppTricks.html

अपने AppDelegate में ओवरराइड करने के लिए एक HandleOpenURL विधि है ("अन्य एप्लिकेशन के साथ संचार" के अंतर्गत देखें)। इसके अलावा आपकी जानकारी में कुछ सेटिंग्स हैं। बदलने के लिए।

+0

हां! यह काम कर रहा है। वास्तव में मैंने सोचा जितना आसान :) योजना के बारे में सही सामान प्राप्त करने के लिए मैन्युअल रूप से Info.plist संपादित किया गया, फिर AppDelegate में HandleOpenUrl() लागू किया गया था और वह था! –

6

हां यह है और आपको यह करने की आवश्यकता है।

Info.plist में जोड़े dict टैग भीतर कहीं निम्नलिखित:

<key>CFBundleURLTypes</key> 
<array> 
    <dict> 
     <key>CFBundleURLName</key> 
     <string>com.companyname.com.receiver</string> 
     <key>CFBundleURLSchemes</key> 
     <array> 
      <string>myapp</string> 
     </array> 
    </dict> 
</array> 

फिर AppDelegate.cs में ओवरराइड HandleOpenURL विधि:

public override bool HandleOpenURL (UIApplication application, NSUrl url) 
{ 
    if (url == null) { 
     return false; 
    } 

    var uri = new Uri(url.ToString()); // I prefer working with the Uri class. 

    // Your logic here 

    return true; 
} 
+1

नमूना कोड साथी के लिए धन्यवाद, यह दूसरों की मदद करेगा। मैंने कहीं पढ़ा था कि इसके लिए समर्थन मोनोटच के वर्तमान संस्करण में हटा दिया गया था, लेकिन ऐसा लगता है कि यह बिल्कुल सही है :) –