我正在使用UIActivityViewController
分享一些文本和网址,这些文字和网址在发送一些文字和网址时效果很好。
我目前需要使用完成处理程序来执行其他操作,具体取决于用户是取消UIActivityViewController
还是实际发送了某些内容。
在iOS 8中不推荐使用iOS 7的完成处理程序(activityViewController.completionHandler
,现在为activityViewController setCompletionWithItemsHandler
)返回BOOL completed
值,在使用{{{}发送时正确返回true
1}} email
sms
Facebook
但是,当通过Twitter
发送时,用户必须按Airdrop
才能解除Cancel
一次发送,因此我始终从完成处理程序中收到UIActivityViewController
。
当false
被解雇时,有没有人知道用户是否知道用户使用Airdrop
发送了广告?
由于
答案 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
类型(只是猜测),则用户点击了该图标。希望它可以提供帮助。