Objective C:
#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];
}
Swift 3:
//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)
}