Setting different activityitems for for different different services in UIActivityViewController ios

StackOverflow https://stackoverflow.com/questions/21398361

  •  03-10-2022
  •  | 
  •  

Pregunta

For Sharing content I'm using UIActivityViewController For this I have subclassed UIActivityProvider for providing different content For different services.

I'm returning array For ActivityItems in ActivityProvider but array is getting nil. I want to share string and URL.

//my subclass code is

-@implementation ActivityProvider
- (id) activityViewController:(UIActivityViewController *)activityViewController
      itemForActivityType:(NSString *)activityType
{

if ( [activityType isEqualToString:UIActivityTypePostToTwitter] )
{
    NSArray * activityItems = @[[NSString stringWithFormat:@"Some initial text."], [NSURL URLWithString:@"http://www.google.com"]];
    return activityItems;
}
if ( [activityType isEqualToString:UIActivityTypePostToFacebook] )
    return @"This is a facebook post!";
if ( [activityType isEqualToString:UIActivityTypeMessage] )
    return @"SMS message text";
if ( [activityType isEqualToString:UIActivityTypeMail] )
    return @"Email text here!";
if ( [activityType isEqualToString:@"it.albertopasca.myApp"] )
    return @"OpenMyapp custom text";
return nil;
}

- (id) activityViewControllerPlaceholderItem:(UIActivityViewController *)activityViewController { return @""; }

Is there any way to set subject and body for mail.

¿Fue útil?

Solución

You can provide a subject for your email by implementing

- (NSString *)activityViewController:(UIActivityViewController *)activityViewController subjectForActivityType:(NSString *)activityType;

in a class that conforms to the UIActivityItemSource protocol. See the documentation for more information.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top