UIActivityViewController Facebook共享文本

时间:2015-06-15 13:02:06

标签: ios iphone facebook twitter uiactivityviewcontroller

我正试图使用​​UIActivityViewController以预填充文字发布到Facebook / Twitter。 但是我无法填充预填充的文本,下面是我的示例代码。

UIImage* shareImage =  [self saveVersionGraphicsAndThumbnailImage:self.drawingView];
NSString* message = @"My post - ";
NSArray* shareItems = @[message, shareImage];

UIActivityViewController * avc = [[UIActivityViewController alloc] initWithActivityItems:shareItems applicationActivities:nil];

if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"8.0")) {
    UIPopoverPresentationController *presentationController = [avc popoverPresentationController];
    presentationController.sourceView = sender;
}
[self presentViewController:avc animated:YES completion:nil];

请帮助解决此问题,提前致谢。

2 个答案:

答案 0 :(得分:4)

Facebook似乎不再希望开发人员用文字预填帖子了。来自https://developers.facebook.com/docs/sharing/ios#ios-integration

iOS共享表的使用受Facebook平台政策的约束,包括第2.3节规定应用程序可能不会预先填写。在共享表的上下文中,这意味着应用可能不会预先填写共享表的initialText字段,其中包含之前使用该应用的用户未输入的内容。 似乎他们更喜欢开发人员使用SDK:

虽然您可以直接使用iOS本机视图控制器API(共享表),但有几个原因可以使用Facebook SDK提供的本机iOS共享对话框。使用本机共享对话框提供了一种快速方法来测试人们已在iOS 6+设备上登录Facebook。此API也使用与Facebook SDK的其他部分相同的样式块。

答案 1 :(得分:1)

是的,我现在可以做。我将shareitem数组更改为

NSArray * activityItems = @[[NSString stringWithFormat:@"My Post - "], shareImage];

非常感谢。