如何检测已选择的活动以及如何检查邮件是否已发送?

Tom*_*ulc 2 cocoa share touch ios uiactivityviewcontroller

我有代码可以从app轻松分享一些消息.

UIActivityViewController *activityViewController = [[UIActivityViewController alloc]
                                                    initWithActivityItems:@[message]
                                                    applicationActivities:nil];

activityViewController.excludedActivityTypes = @[UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll];
[self presentViewController:activityViewController animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 可以检测选择了哪个共享选项?
  2. 可以检测之前是否共享或取消了消息?

先感谢您.

Tom*_*ulc 6

以下是如何使用的示例UIActivityViewControllerCompletionHandler:

UIActivityViewController *activityViewController = [[UIActivityViewController alloc]
                                                    initWithActivityItems:@[@"abc", someImage]
                                                    applicationActivities:nil];

[activityViewController setCompletionHandler:^(NSString *activityType, BOOL completed) {
    NSLog(@"%@, %d", activityType, completed);
}];

activityViewController.excludedActivityTypes = @[UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll];
[self presentViewController:activityViewController animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)