2012-09-26 19 views
12

के साथ UIActivityTypeMessage लिखें, अगर कोई अंतर्दृष्टि प्रदान कर सकता है तो घूम रहा था। मेरे जीवन के लिए मैं यह नहीं समझ सकता कि UIAmageTypeMessage के साथ UIImage कैसे भेजना है, हालांकि कुछ कहते हैं कि यह संभव है।UIImage

डॉक्स कहते हैं: http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIActivity_Class/Reference/Reference.html

UIActivityTypeMessage

वस्तु पदों संदेश अनुप्रयोग के लिए उपलब्ध कराई गई सामग्री। इस सेवा का उपयोग करते समय, आप गतिविधि वस्तुओं के लिए डेटा के रूप में NSString और NSAttributedString ऑब्जेक्ट्स प्रदान कर सकते हैं। आप NSURL ऑब्जेक्ट्स भी निर्दिष्ट कर सकते हैं जिनकी सामग्री एसएमएस योजना का उपयोग करती है। आईओएस 6.0 और बाद में उपलब्ध है। UIActivity.h में घोषित किया गया।

तो मेरी समझ के लिए मैं केवल एनएसएसटींग/NSURL भेज सकता हूं। मैं आपको नहीं देखता यह संभव है।

मैं इस का उपयोग कर रहा:

UIImage *image; // some image here. 

UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[ image ] applicationActivities:nil]; 

किसी भी मदद की बहुत सराहना की जाएगी।

उत्तर

1

यद्यपि यह संभव लगता है iOS6 में UIActivityViewController का उपयोग कर हिस्सा चादर में प्रदर्शित करने के संदेश एप्लिकेशन प्राप्त करने के लिए, वहाँ कुछ गुप्त यह काम करने के लिए प्राप्त करने के लिए है बॉक्स से बाहर काम करता है।

सुनिश्चित नहीं है कि आप एलास्सेट्स लाइब्रेरी से अपनी छवियां प्राप्त कर रहे हैं, लेकिन यदि ऐसा है, तो UIImage खींचने के बजाय एएसएलएसएस का उपयोग करके एलास्सेट को पकड़ें। शेयर शीट उस समय के एक अंश में दिखाई देती है। यह वास्तव में वह कोड नहीं है जिसका मैं उपयोग कर रहा हूं, लेकिन इसी तरह। लेकिन आईओएस 6 पर, गतिविधि दृश्य नियंत्रक तब तक संदेश ऐप नहीं दिखाएगा जब तक कोई छवि संलग्न न हो।

- (void) presentActivityViewController:(ALAsset*) asset { 
    // add this to your viewController class 

    NSDictionary *urls = [asset valueForProperty:ALAssetPropertyURLs]; 
    NSURL *url; 
    if ([urls count]) { 
     for (NSString *key in urls) { 
      // I'm making an assumption that the URL I want is the first URL in the dictionary 
      url = [urls objectForKey:key]; 
      break; 
     } 
    } 

    NSArray *activityItems = @[url]; 
    UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil]; 
    [self presentViewController:activityController animated:YES completion:nil]; 
} 
+1

पुष्टि की है कि आईओएस 7 में, iMessage को साझा करना मानक UIActivityController के साथ काम करता है। एक अतिरिक्त बोनस के रूप में, आप पहले इसे स्वयं निकालने के बिना iMessage और AirDrop के माध्यम से एक वीडियो साझा कर सकते हैं। दोनों मामलों में, गतिविधि में एलासेट के NSURL को पास करें ITems। –

1

टेक्स्ट और छवि के साथ सार्वभौमिक रूप से UIActivityViewController का उपयोग कैसे करें। , IOS7 एक अलग कहानी है संपत्ति के लिए NSURL गुजर -

NSMutableArray *items = [NSMutableArray new]; 
[items addObject:@"Hello world!"]; 
[items addObject:[UIImage imageNamed:@"MyImage"]]; 
NSArray *activityItems = [NSArray arrayWithArray:items]; 
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil]; 

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) { 
    [self presentViewController:self.activityViewController animated:YES completion:nil]; 
} else if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 
    UIPopoverController *aPopoverController = [[UIPopoverController alloc] initWithContentViewController:activityViewController]; 
    [aPopoverController presentPopoverFromBarButtonItem:self.actionButton permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 
} 

// Examples: 
// iPhone: 
// http://anglerally.com/wp-content/uploads/2012/09/[email protected] 
// http://anglerally.com/wp-content/uploads/2012/09/[email protected] 
// iPad: 
// http://anglerally.com/wp-content/uploads/2012/09/[email protected] 
// http://anglerally.com/wp-content/uploads/2012/09/[email protected] 
+0

यह ठीक है कि मैं क्या कर रहा हूँ है। UIActivityViewController में एक सरणी जोड़ना। सभी ठीक काम करता है। मैं छवि को मेल, ट्विटर, फेसबुक, वेबो, कॉपी, प्रिंट, कैमरा रोल में सहेज सकता हूं .. आदि। लेकिन मैं छवि को एमएमएस (iMessage) के माध्यम से साझा करना चाहता हूं यह यूआईएममेज के साथ रचना करने की अनुमति नहीं देता है। केवल तार और nsurl। – corndogcomputers

+0

आह। मैंने आपके प्रश्न को गलत तरीके से पढ़ाया। माफ़ कीजिये! और मैंने अभी जांच की है और आप बिल्कुल सही हैं। केवल संदेश के लिए पाठ ... अजीब। –

+3

दुख की बात है कि संदेश दृश्य के साथ छवियों को भेजने वाले ऐप्स (यहां तक ​​कि UIActivityViewController के साथ) असंभव है। इसके लिए मेरा समाधान पेस्टबोर्ड पर छवि की प्रतिलिपि बना रहा है, उपयोगकर्ता को छवि को उनके संदेश में पेस्ट करने के लिए निर्देशित करें, और फिर यूआईएपीप्लिकेशन का उपयोग करके आईओएस संदेश ऐप लॉन्च करें ... – jjxtra