限制社交共享选项并为每项服务设置自定义消息

Ber*_*rnd 1 share objective-c social-networking ios

我即将实现一个调用默认模态共享活动视图的共享按钮.

这是我到目前为止所得到的.

NSString *textToShare = [NSString stringWithFormat:@"Looking forward to meet you at %@",[eventItemObject eventName]];;
NSURL *url = [eventItemObject eventWebsiteURL];
NSArray *activityItems = [[NSArray alloc]  initWithObjects:textToShare,url,nil];

UIActivity *activity = [[UIActivity alloc] init];
NSArray *applicationActivities = [[NSArray alloc] initWithObjects:activity, nil];
UIActivityViewController *activityVC =
[[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:applicationActivities];

[self presentViewController:activityVC animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

按下共享按钮时会调用此方法.

挑战:

  1. 将共享选项限制为例如Facebook,Twitter,Mail(它现在还显示复制到剪贴板和微博)
  2. 为每个共享方法分配自定义共享消息/字符串.(现在textToShare字符串用于所有服务)

经过一些研究后,我认为这可以用新的SLComposeViewController(在iOS6中)完成,但我不知道在哪里/如何正确调用它.任何实用的建议或例子表示赞赏!

Mic*_*lum 6

您可以使用activityViewController指定不显示哪些活动setExcludedActivityTypes:.例:

[activityVC setExcludedActivityTypes:[NSArray arrayWithObjects:
                                                     UIActivityTypeMessage,UIActivityTypeCopyToPasteboard,
                                                     UIActivityTypeAssignToContact,UIActivityTypePostToWeibo,
                                                     UIActivityTypePrint,UIActivityTypeSaveToCameraRoll,
                                                     nil]];
Run Code Online (Sandbox Code Playgroud)

至于将特定内容发送到不同的活动,我花了最后一天左右试图弄清楚如何做到这一点.如果/当我想出来的时候,我会更新这篇文章以包含这些信息.