ユーザーがFacebookやTwitterなどで共有したかどうかを追跡できるようにしたいのですが、どの方法が選択されたかを知る方法がないようです。ある?
18800 次
4 に答える
48
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) {
于 2013-01-05T02:28:30.847 に答える
31
Swift 4 では:
activityViewController.completionWithItemsHandler = { activity, success, items, error in
if !success{
print("cancelled")
return
}
if activity == .postToTwitter {
print("twitter")
}
if activity == .mail {
print("mail")
}
}
于 2015-11-28T02:11:05.617 に答える