UIActivityViewController completionHandler 如何检查活动是不是发送成功?

Posted

技术标签:

【中文标题】UIActivityViewController completionHandler 如何检查活动是不是发送成功?【英文标题】:UIActivityViewController completionHandler how to check if activity send or not successfully?UIActivityViewController completionHandler 如何检查活动是否发送成功? 【发布时间】:2014-01-09 10:04:16 【问题描述】:

我想通过空投发送一个字符串,我想在其他设备上成功接收到该字符串时调用一个函数。我通过 UIActivityViewController 实现了它,并通过 completionHandler 进行了检查。

这是我的场景: 设备 A -> 向设备 B 发送字符串 如果设备 B 接收有两个选项 -> 接受或拒绝 当设备 B 接收或拒绝该消息时,我想在设备 A 上调用一个函数。

下面是我的实现:

UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[self.customURLContainer] applicationActivities:nil];

    activityViewController.completionHandler = ^(NSString *activityType, BOOL completed) 
        NSLog(@"completed dialog - activity: %@ - finished flag: %d", activityType, completed);

        if ( completed )
        
            NSLog(@"completionHandler - Succeed");
        
        else
        
            NSLog(@"completionHandler - didn't succeed.");
            // didn't succeed.
        

但是上面的函数总是返回0,无论字符串是被对方设备“发送”还是“拒绝”。

是否可以在设备 A 上检查?因为我们可以看到设备 A 上的活动,如果接收大于“发送”并且如果拒绝大于“拒绝”。

【问题讨论】:

您找到问题的答案了吗?我的意思是说,它现在有效吗? 【参考方案1】:

不,目前这是不可能的。不过,您应该向 Apple 提交bug report 请求

【讨论】:

这个问题仍然存在吗?

以上是关于UIActivityViewController completionHandler 如何检查活动是不是发送成功?的主要内容,如果未能解决你的问题,请参考以下文章

UIActivityViewController 背景颜色

UIActivityViewController 共享 UIActivity 未显示

UIActivityViewController 不适用于 WKWebView

限制 UIActivityViewController 共享扩展活动

尝试呈现 UIActivityViewController 时崩溃

更改 UIActivityViewController 的 navigationBar 的颜色