2014-06-25 2 views
6

मैं छवि, कुछ पाठ और UIActivityViewController का उपयोग करके एक यूआरएल साझा करने के लिए निम्न कोड का उपयोग करता हूं। सबकुछ ठीक काम करता है सिवाय इसके कि जब उपयोग एयरड्रॉप का चयन करता है, तो उसे "इन सभी वस्तुओं को एक ही समय में प्राप्त नहीं किया जा सकता"। अगर मैं केवल छवि साझा करता हूं, तो एयरड्रॉप काम करता है। मुझे ईमेल, फेसबुक, ट्विटर शेयरिंग विधियों के लिए टेक्स्ट और यूआरएल चाहिए।एयरड्रॉप त्रुटि संदेश: "इन सभी वस्तुओं को एक ही समय में प्राप्त नहीं किया जा सकता"

क्या टेक्स्ट और यूआरएल रखने का कोई तरीका है और एयरड्रॉप केवल छवि साझा करते हैं, जबकि फेसबुक, ईमेल, साझा करने के ट्विटर तरीके टेक्स्ट और यूआरएल का उपयोग उस छवि के साथ करना जारी रखते हैं, जिसे मैं साझा करने की कोशिश कर रहा हूं?

NSString *text = [NSString stringWithFormat:@"I made this image using %@ iOS app. Here is the link to download it:", [CloudHelper appName]]; 
NSURL *url = [NSURL URLWithString:APP_URL];  

UIActivityViewController *activityController = 
[[UIActivityViewController alloc] 
initWithActivityItems:@[text, url, myImage] 
applicationActivities:nil]; 

[self presentViewController:activityController animated:YES completion:nil]; 

उत्तर

8

आप बनाने के लिए और तीन वस्तुओं कि UIActivityItemSource, एक एक स्ट्रिंग, एक एक छवि और एक एक यूआरएल जहां रिटर्न के अनुरूप साझा करना चाहते हैं चाहते हैं। फिर जब आइटम का अनुरोध करने वाले प्रतिनिधि कॉलबैक को आपसे पूछा जाता है कि कौन सा गतिविधि प्रकार चुना गया था (फेसबुक, ट्विटर, एयरड्रॉप इत्यादि) और यदि कोई आइटम लागू नहीं होता है तो कुछ रिटर्न शून्य हो जाता है।

तो एयरड्रॉप के मामले में, छवि के लिए केवल आइटम स्रोत गैर-शून्य मूल्य लौटाएगा। UIActivityItemSource

को कार्यान्वित करने के कुछ उदाहरण प्राप्त करने के लिए आप airdrop sample code पर एक नज़र डाल सकते हैं
संबंधित मुद्दे