使用AirDrop时,UIActivityViewController完成处理程序已完成

时间:2014-10-17 12:30:24

标签: ios uiactivityviewcontroller uiactivity uiactivitytypeairdrop

我正在使用UIActivityViewController分享一些文本和网址,这些文字和网址在发送一些文字和网址时效果很好。

我目前需要使用完成处理程序来执行其他操作,具体取决于用户是取消UIActivityViewController还是实际发送了某些内容。

在iOS 8中不推荐使用iOS 7的完成处理程序(activityViewController.completionHandler,现在为activityViewController setCompletionWithItemsHandler)返回BOOL completed值,在使用{{{}发送时正确返回true 1}} email sms Facebook但是,当通过Twitter发送时,用户必须按Airdrop才能解除Cancel一次发送,因此我始终从完成处理程序中收到UIActivityViewController

false被解雇时,有没有人知道用户是否知道用户使用Airdrop发送了广告?

由于

1 个答案:

答案 0 :(得分:13)

我发现了一些您感兴趣的内容,但不幸的是我无法测试它,因为AirDrop并不想在我的iDevices之间运行。对不起。

无论如何,您可以尝试setCompletionWithItemsHandler检查activityType

[activityViewController setCompletionWithItemsHandler:^(NSString *activityType, BOOL completed, NSArray *returnedItems, NSError *activityError) {
    NSLog(@"completed: %@, \n%d, \n%@, \n%@,", activityType, completed, returnedItems, activityError);

}];

如果activityType属于com.apple.airdrop.etc类型(只是猜测),则用户点击了该图标。希望它可以提供帮助。