How to display the default iOS 6 share action sheet with available share options? How to display the default iOS 6 share action sheet with available share options? ios ios

How to display the default iOS 6 share action sheet with available share options?


The UIActivityViewController stated in the other answer makes this trivial. All you have to do is specify the text/image/URL that you want to share and present the activity view controller modally and iOS will automatically display all applicable sharing services. Examples:

Objective-C

- (void)shareText:(NSString *)text andImage:(UIImage *)image andUrl:(URL *)url{    NSMutableArray *sharingItems = [NSMutableArray new];    if (text) {        [sharingItems addObject:text];    }    if (image) {        [sharingItems addObject:image];    }    if (url) {        [sharingItems addObject:url];    }    UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:sharingItems applicationActivities:nil];    [self presentViewController:activityController animated:YES completion:nil];}

Swift

func share(sharingText: String?, sharingImage: UIImage?, sharingURL: URL?) {    let sharingItems:[AnyObject?] = [                                        sharingText as AnyObject,                                        sharingImage as AnyObject,                                        sharingURL as AnyObject                                    ]     let activityViewController = UIActivityViewController(activityItems: sharingItems.compactMap({$0}), applicationActivities: nil)    if UIDevice.current.userInterfaceIdiom == .pad {        activityViewController.popoverPresentationController?.sourceView = view    }    present(activityViewController, animated: true, completion: nil)}


Add this to use the UIActivityViewController.

-(IBAction)shareButtonPressed:(id)sender {    NSLog(@"shareButton pressed");    NSString *texttoshare = _txt; //this is your text string to share    UIImage *imagetoshare = _img; //this is your image to share    NSArray *activityItems = @[texttoshare, imagetoshare];        UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];    activityVC.excludedActivityTypes = @[UIActivityTypeAssignToContact, UIActivityTypePrint];    [self presentViewController:activityVC animated:TRUE completion:nil];}