abc
abc

Reputation: 21

objective-c - Attach UIImage to share

I have my issues with the following code. Only thing I want is that also an image is attached to the share message.

NSString *textToShare = @"I'm feeling good!";
NSURL *myWebsite = [NSURL URLWithString:@"http://www.iamgross.de"];
UIImage *bestImage = [UIImage imageNamed:@"bestIcon"];
NSArray *objectsToShare = @[bestImage, textToShare, myWebsite];

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        //Here your non-main thread.
        UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:objectsToShare applicationActivities:nil];

        NSArray *excludeActivities = @[UIActivityTypeAirDrop,
                                       UIActivityTypePrint,
                                       UIActivityTypeAssignToContact,
                                       UIActivityTypeSaveToCameraRoll,
                                       UIActivityTypeAddToReadingList,
                                       UIActivityTypePostToFlickr,
                                       UIActivityTypePostToVimeo];

        activityVC.excludedActivityTypes = excludeActivities;


        dispatch_async(dispatch_get_main_queue(), ^{
            //Here you returns to main thread.
            [loading alertIsDismissed:^{
                [self presentViewController:activityVC animated:YES completion:nil];
            }];
        });
    });

Upvotes: 2

Views: 1060

Answers (1)

Or Ron
Or Ron

Reputation: 2343

- (void)shareText:(NSString *)text andImage:(UIImage *)image andUrl:(NSURL *)url
{
    NSMutableArray *sharingItems = [NSMutableArray new];

    if (text) {
        [sharingItems addObject:text];
    }
    if (image) {
        [sharingItems addObject:itemImage];
    }

    if (url) {
        [sharingItems addObject:url];
    }

    UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:sharingItems applicationActivities:nil];
    [activityController setValue:@"Look at what I found" forKey:@"subject"];
    [self presentViewController:activityController animated:YES completion:nil];
}

Upvotes: 3

Related Questions