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 共享 UIActivity 未显示
UIActivityViewController 不适用于 WKWebView
限制 UIActivityViewController 共享扩展活动