UIActivityViewController为WhatsApp或Facebook选择了不同的文本

问题描述:

我拥有活动项目中的文本,但现在它在WhatsApp或Facebook上共享,此方法为每个应用程序共享相同的文本。 是否有可能为每个应用程序共享不同的文本?UIActivityViewController为WhatsApp或Facebook选择了不同的文本

- (void)share { 
    NSString *text = @"share test"; 

    NSArray * activityItems = @[[NSString stringWithFormat:@"%@", text], [NSURL URLWithString:@"http://www.test.co"]]; 
    NSArray * applicationActivities = nil; 
    NSArray * excludeActivities = @[UIActivityTypeAssignToContact, UIActivityTypeCopyToPasteboard, UIActivityTypePostToWeibo, UIActivityTypePrint, UIActivityTypeMessage]; 

    UIActivityViewController * activityController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:applicationActivities]; 
    activityController.excludedActivityTypes = excludeActivities; 

    [self presentViewController:activityController animated:YES completion:nil]; 

    [activityController setCompletionWithItemsHandler:^(NSString *activityType, BOOL completed, NSArray *returnedItems, NSError *activityError) { 
     NSLog(@"The setCompletionWithItemsHandler completed = %i", completed); 

     if (completed) { 
      NSLog(@"The selected activity was %@", activityType); 

      if ([activityType isEqualToString:UIActivityTypeMail]) { 
       NSLog(@"Mail sended"); 
      } else if ([activityType isEqualToString:UIActivityTypePostToTwitter]) { 
       NSLog(@"Post on twitter, ok!"); 
      } else if ([activityType isEqualToString:UIActivityTypePostToFacebook]) { 
       NSLog(@"Post on facebook, ok!"); 
      } else if ([activityType isEqualToString:UIActivityTypeMessage]) { 
       NSLog(@"SMS sended!"); 
      } 
     } 
    }]; 
} 

简短的回答:

不可以,但你可以使用开放式应用程序与URL方法和参数传递给应用程序。 使用该方法时,您必须使用自定义UI并且不能使用UIActivityViewController。 (据我所知)

所以,这是可能的,如果你想有多个按钮,如: “分享WhatsApp的” “分享与Facebook” 等

+0

感谢,自定义UI的问题为了我。 –