Skip to content

iOS UIActivityViewController

Platform Language License

  1. A view controller that you can use to offer various services from your app.
  2. The system provides several standard services, such as copying items to the pasteboard, sharing content to social media sites, sending items via email or SMS, and more. Apps can also define custom services.
  3. You can also specify the list of custom services your app supports.

Example:

iOSTreeUIActivityViewController

//MARK:- Activity Sharing View Controller
func activitySharingViewController() {
    let shareText = "some text to share"
    let activityView : UIActivityViewController = UIActivityViewController.init(activityItems: [shareText], applicationActivities: nil)
    activityView.popoverPresentationController?.sourceView = self.view
    activityView.excludedActivityTypes = [.airDrop, .assignToContact, .saveToCameraRoll, .addToReadingList, .postToTwitter, .postToFacebook]
    activityView.completionWithItemsHandler = { activity, success, items, error in
        print("activity take place \(activity)")
            if success {
                if activity == UIActivityType.copyToPasteboard {
                    print("copy To Pasteboard \(shareText)")
                }
            }
    }
    self.present(activityView, animated: true, completion: nil)
}
#pragma mark - Activity Sharing View Controller
- (void)activitySharingViewController {
    NSString *forShare = [NSString stringWithFormat:@"some text to share"];
    UIActivityViewController *shareAction = [[UIActivityViewController alloc] initWithActivityItems:@[forShare] applicationActivities:nil];
    shareAction.excludedActivityTypes = @[UIActivityTypeAirDrop, UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll, UIActivityTypePostToTwitter, UIActivityTypePostToFacebook, UIActivityTypeAddToReadingList];
    shareAction.completionWithItemsHandler = ^(NSString *activityType, BOOL completed, NSArray *returnedItems, NSError *activityError){
        if (completed){
            if (activityType == UIActivityTypeCopyToPasteboard) {
                NSLog(@"Copy to Pasteboard %@",activityType);
            }
        }
    };
    [self presentViewController:shareAction animated:true completion:nil];
}

Let's grow together 🌱

Cheers 🍻