我正在使用 UIActivityViewController
,其中我添加了Facebook、Twitter和电子邮件。 在我完成任何一个这些功能的共享活动后,如何获取成功回调。
欢迎提供任何想法。
我正在使用 UIActivityViewController
,其中我添加了Facebook、Twitter和电子邮件。 在我完成任何一个这些功能的共享活动后,如何获取成功回调。
欢迎提供任何想法。
Swift 语法:
let avc = UIActivityViewController(activityItems: [image], applicationActivities: nil)
avc.completionWithItemsHandler = { (activity, success, items, error) in
print(success ? "SUCCESS!" : "FAILURE")
}
self.presentViewController(avc, animated: true, completion: nil)
像这样设置完成处理程序
[controller setCompletionHandler:^(NSString *act, BOOL success)
{
NSLog(@"act type %@",act);
NSString *result = nil;
if ( [act isEqualToString:UIActivityTypePostToTwitter] ) result = @"POST-SHARED-SUCCESSFULLY";
if ( [act isEqualToString:UIActivityTypePostToFacebook] ) result = @"POST-SHARED-SUCCESSFULLY";
if (success)
{
UIAlertView *av = [[UIAlertView alloc] initWithTitle:result message:nil delegate:nil cancelButtonTitle:NSLocalizedString(@"OK", nil) otherButtonTitles:nil];
[av show];
}
else
{
UIAlertView *av = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"ERROR", nil) message:nil delegate:nil cancelButtonTitle:NSLocalizedString(@"OK", nil) otherButtonTitles:nil];
[av show];
}
}];
setCompletionHandler
已被废弃。因此,如果您正在使用iOS 8.0+,这里是解决方案。
activityViewController.completionWithItemsHandler = ^(NSString *activityType, BOOL completed, NSArray *returnedItems, NSError *activityError) {
// When the completed flag is YES, the user performed a specific activity
};