即使用户取消了活动,UIActivityViewController也会将“ completed”返回为true
我们正在使用UIActivityViewController共享应用程序中的URL和文本。我们使用如下定义的完成块来检测活动是否成功完成。
UIActivityViewController *shareActivity = [[UIActivityViewController alloc] initWithActivityItems:@[ textActivity, urlActivity ] applicationActivities:nil];
[shareActivity setCompletionWithItemsHandler:^(UIActivityType __nullable activityType, BOOL completed, NSArray *__nullable returnedItems, NSError *__nullable activityError) {
if (activityError) {
// show an alert
return;
}
if (completed && activityType) {
// track the activity type
// show an alert
}
}];
如上面的代码所示,我们显示了一个警报,以便用户了解活动已完成。我们还跟踪已完成的活动。上面的代码非常适合发布到Twitter,Facebook,邮件,消息,便笺,Slack等应用程序。但是对于下面提到的某些活动,它失败了,因为即使用户取消了活动,完成标志也变为“ true”:
失败活动:
可能有更多的应用程序可能失败了,但是由于我已经在设备上安装了上述应用程序,所以我能够找到它们。
反正有解决此问题的方法吗?
答案 0 :(得分:0)
Instagram,WhatsApp和Messenger取消后发送失败。您的代码没问题。
我刚刚提交了一个错误,以彻底解决您(也是我的)问题:) https://developers.facebook.com/support/bugs/727214027651581/?disable_redirect=0
等待与希望。