我希望能够跟踪用户是否通过 facebook、twitter 等共享,但似乎无法知道选择了哪种方法。有没有?
最佳答案
您可以在 setCompletionHandler 中使用事件类型
UIActivityViewController *activityVC = [[UIActivityViewController alloc]initWithActivityItems:activityItems applicationActivities:nil];
[activityVC setCompletionHandler:^(NSString *activityType, BOOL completed) {
if([activityType isEqualToString: UIActivityTypeMail]){
NSLog(@"Mail");
}
if([activityType isEqualToString: UIActivityTypePostToFacebook]){
NSLog(@"Facebook");
}
}];
[self presentViewController:activityVC animated:TRUE completion:nil];
系统内置支持的内置事件类型。
NSString *const UIActivityTypePostToFacebook;
NSString *const UIActivityTypePostToTwitter;
NSString *const UIActivityTypePostToWeibo;
NSString *const UIActivityTypeMessage;
NSString *const UIActivityTypeMail;
NSString *const UIActivityTypePrint;
NSString *const UIActivityTypeCopyToPasteboard;
NSString *const UIActivityTypeAssignToContact;
NSString *const UIActivityTypeSaveToCameraRoll;
针对 iOS 8 进行了编辑
请注意,这会在 iOS 8 中生成编译器警告,您需要使用 setCompletionWithItemsHandler
方法而不是 setCompletionHandler
方法。
替换:
[activityVC setCompletionHandler:^(NSString *activityType, BOOL completed) {
与:
[activityVC setCompletionWithItemsHandler:^(NSString *activityType, BOOL completed, NSArray *returnedItems, NSError *activityError) {
关于UIActivityViewController - 有没有办法知道选择了哪个事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14149532/